Considerando duas tabelas em um banco de dados, DEPARTAMENTO...
Considerando duas tabelas em um banco de dados, DEPARTAMENTO e EMPREGADO, relacionadas por uma chave estrangeira em EMPREGADO que referencia a tabela DEPARTAMENTO, que operação será realizada pelo comando SQL abaixo?
SELECT * FROM DEPARTAMENTO, EMPREGADO;
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: B - Produto Cartesiano.
Para resolver esta questão, é necessário compreender o conceito de operações em bancos de dados relacionais, utilizando a linguagem SQL. As operações fundamentais são: Junção, Seleção, Projeção, Produto Cartesiano e União. O SQL é a linguagem padrão para interagir com bancos de dados relacionais e realizar essas operações.
No caso específico desta questão, o comando apresentado é SELECT * FROM DEPARTAMENTO, EMPREGADO; que, ao não especificar condições de junção, solicita o retorno de todas as possíveis combinações entre linhas das tabelas DEPARTAMENTO e EMPREGADO, resultando em um Produto Cartesiano. Neste resultado, cada linha da tabela DEPARTAMENTO é combinada com cada linha da tabela EMPREGADO, independentemente de haver uma correspondência lógica entre elas. Isso pode resultar em um conjunto de dados muito grande e geralmente não é desejado, a menos que seja estritamente necessário para o contexto da operação.
O Produto Cartesiano é uma operação básica na teoria de conjuntos e, no contexto de SQL, geralmente é evitado ou substituído por uma Junção (JOIN) que relaciona as tabelas de maneira significativa, através de uma coluna chave comum, reduzindo assim o resultado para combinações relevantes.
É fundamental entender que a junção natural, seleção, projeção e união são operações que têm propósitos específicos diferentes do Produto Cartesiano. A junção natural combina linhas com base em colunas de mesmo nome e valores compatíveis; a seleção filtra linhas com base em uma condição; a projeção retorna apenas colunas especificadas; e a união concatena resultados de duas consultas com as mesmas colunas.
Sendo assim, a alternativa B é a correta, pois descreve exatamente o resultado da consulta SQL dada, um Produto Cartesiano entre as tabelas DEPARTAMENTO e EMPREGADO.
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
FROM = prod cartesiano.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo