Com base na seguinte expressão algébrica relacional: Π numf ...
Com base na seguinte expressão algébrica relacional:
Π numf (Funcionarios) ∩ Π numf (Dependentes)
a expressão SQL correspondente é
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a D - select numf from Funcionarios intersect select numf from Dependentes.
Vamos entender o que está sendo pedido. A expressão algébrica relacional dada na questão é uma operação de intersecção entre dois conjuntos de dados. No contexto de bancos de dados, a intersecção nos retorna todos os elementos que são comuns a ambos os conjuntos. No caso específico da questão, estamos interessados em encontrar os números de funcionários (numf) que são comuns entre as tabelas Funcionarios e Dependentes.
O operador de projeção (Π) é utilizado para selecionar colunas específicas de uma tabela, que no SQL é feito com o comando SELECT. Já o operador de intersecção (∩) corresponde ao comando INTERSECT no SQL. Portanto, a operação que desejamos realizar é uma intersecção das colunas numf entre as duas tabelas mencionadas.
A resposta correta utiliza o comando SELECT para selecionar a coluna numf da tabela Funcionarios e, em seguida, aplica o INTERSECT para retornar apenas os registros que também estão presentes na tabela Dependentes. Isso se traduz na seguinte expressão SQL:
SELECT numf FROM Funcionarios
INTERSECT
SELECT numf FROM Dependentes
As demais opções são incorretas pois elas não traduzem corretamente a expressão algébrica relacional fornecida:
- A alternativa A sugere um LEFT OUTER JOIN que, embora seja um tipo de operação de junção de tabelas, não realiza uma intersecção de conjuntos.
- A alternativa B utiliza o comando UPDATE, que é usado para atualizar dados em uma tabela, e não para realizar consultas.
- A alternativa C utiliza o comando EXCEPT, que retorna os elementos que estão no primeiro conjunto mas não no segundo, o que é o oposto de uma intersecção.
- E a alternativa E, novamente, mistura conceitos de atualização de dados com junção de tabelas, o que é inadequado para a expressão algébrica relacional apresentada.
Assim, a única alternativa que realiza a operação desejada de intersecção de conjuntos conforme a expressão algébrica relacional é a alternativa D, fazendo dela a resposta correta.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
d-
Π (pi) em algebra relacional é a projeção, a operação que restringe as colunas encontradas pelo query. Ja select restringe rows encontrados. O simbolo entre os 2 é intersecção, o qual retorna o registros em comum em 2 tabelas:
union - conjunto de 2 tabelas, ignorando tuplas repetidas
intersect - somente o que for em comum
minus- somente os registros exclusivos de uma tabela.
e.g.:
select * from emp where sal > 3000 minus select * from emp where sal <1000;
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo