Sobre Junções (JOIN), analise as assertivas e assinal...
I. A operação de junção é utilizada para combinar as tuplas relacionadas em duas relações dentro de uma única.
II. Junções podem ser criadas através do aninhamento das operações, ou podemos aplicar uma operação por vez e criar relação dos resultados intermediários.
III. Junções são muito importantes em banco de dados relacionais com mais de uma relação, porque nos permite processar os relacionamentos entre as relações.
IV. Na Junção apenas as combinações de tuplas que satisfazerem a condição de junção aparecerão no resultado, enquanto, no produto Cartesiano, todas as combinações de tuplas serão incluídas no resultado.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a C - Apenas I, III e IV.
Para entendermos o porquê dessa alternativa ser a correta, vamos analisar cada uma das assertivas:
I. A operação de junção é utilizada para combinar as tuplas relacionadas em duas relações dentro de uma única.
Esta afirmação está correta. A operação de junção, ou JOIN, é uma das operações fundamentais em bancos de dados relacionais. Ela permite que dados de duas ou mais tabelas sejam combinados com base em um relacionamento comum, geralmente um par de colunas com valores correspondentes. Por exemplo, se tivermos uma tabela de funcionários e uma tabela de departamentos, poderíamos juntar essas tabelas para obter uma lista de funcionários com os nomes de seus departamentos.
II. Junções podem ser criadas através do aninhamento das operações, ou podemos aplicar uma operação por vez e criar relação dos resultados intermediários.
A assertiva II é imprecisa e leva a confusão, pois a ideia de "aninhamento das operações" não é um termo comumente utilizado quando falamos de JOINs em SQL. O que acontece é que podemos encadear várias junções em uma única consulta SQL ou realizar várias consultas, cada uma com sua junção, e combinar os resultados. No entanto, a maneira como está descrita pode não ser interpretada corretamente, o que justifica a exclusão desta assertiva como correta.
III. Junções são muito importantes em banco de dados relacionais com mais de uma relação, porque nos permite processar os relacionamentos entre as relações.
Esta afirmação está correta e é um conceito central nos bancos de dados relacionais. As junções são essenciais para explorar as relações entre tabelas diferentes. Sem elas, seria muito difícil realizar consultas que necessitam de dados de múltiplas tabelas.
IV. Na Junção apenas as combinações de tuplas que satisfazerem a condição de junção aparecerão no resultado, enquanto, no produto cartesiano, todas as combinações de tuplas serão incluídas no resultado.
Esta afirmação também está correta. Em uma junção, especificamos uma condição que determina como as tabelas serão combinadas. Apenas os registros que atendem a essa condição são incluídos no resultado. Por outro lado, o produto cartesiano, realizado pela operação CROSS JOIN, combina cada linha de uma tabela com cada linha da outra tabela, resultando em todas as possíveis combinações de linhas entre as tabelas, independente de qualquer condição.
Diante da análise, fica evidente que a alternativa C - Apenas I, III e IV contempla as afirmações verdadeiras sobre as operações de junção em SQL.
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
SELECT * FROM empregado e RIGHT JOIN departamento d ON e.codDep = d.cod;
O exemplo acima é um JOIN e as combinações de tuplas que NÃO satisfazem a condição de junção aparecem no resultado. Por que a alternativa IV é verdadeira?
Acredito que o resultado satisfaça a condição de junção, não?
"SELECT * FROM empregado e RIGHT JOIN departamento d ON e.codDep = d.cod;"
Pra mim seriam as condições: RIGHT JOIN e e.codDep = d.cod
Pessoal, existem 2 tipos de JOIN, o inner join e o outer join, que foi criado para resolver este tipo de problema. Mas inicialmente, quando uma questão fala de join, sem especificar a qual tipo/s pertence, fica subentendido apenas o inner join.
A II está errada pq nao podem ser executados aninhados...como o Date disse, um depois do outro...pensa num produto cartesiano intercalado com uma seleção, que b*...kkkk
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo