Julgue o item, acerca de princípios, métodos, técnicas e pro...

Próximas questões
Com base no mesmo assunto
Ano: 2010 Banca: CESPE / CEBRASPE Órgão: DETRAN-RS
Q1198466 Banco de Dados
Julgue o item, acerca de princípios, métodos, técnicas e processos da engenharia de software e de bancos de dados.
Considerando-se o comando SQL a seguir, se, para todas as tuplas das tabelas T1 e T2, respectivamente, as colunas a e b tiverem um mesmo valor, a execução bem sucedida desse comando, em um banco de dados que contenha mais tabelas, produzirá uma quantidade de tuplas igual ao produto das quantidades de tuplas das tabelas T1 e T2. SELECT a.a, b.b, b.c, a.d FROM T1 as a, T2 as b WHERE a.a = b.b ORDER BY a.a
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: C - certo

Para resolver esta questão, é essencial compreender o conceito de join (junção) em SQL, que ocorre quando duas ou mais tabelas são combinadas com base em uma coluna em comum. A questão descreve um cenário onde há duas tabelas, T1 e T2, nas quais as colunas 'a' de T1 e 'b' de T2 possuem o mesmo valor em todas as tuplas.

O comando SQL apresentado executa uma junção implícita (cross join) entre as tabelas T1 e T2. Este tipo de junção produz o produto cartesiano das tabelas envolvidas, ou seja, cada tupla de T1 é combinada com todas as tuplas de T2.

Se, para todas as tuplas, as colunas 'a' e 'b' têm valores iguais, espera-se que a condição WHERE a.a = b.b seja verdadeira para cada combinação de tuplas de T1 e T2. Isso implica que o número total de tuplas no resultado será igual ao número de tuplas em T1 multiplicado pelo número de tuplas em T2, o que explica por que a afirmação é correta.

Adicionalmente, a cláusula ORDER BY a.a apenas ordenará os resultados finais e não afeta a quantidade de tuplas produzidas pela junção.

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

Questão difícil.

Trata do conceito de produto cartesiano que é: "Gerar um produto cartesiano no sql, nada mais é do que: “Combinar todas as linhas de duas ou mais tabelas”. A cláusula FROM do sql é a responsável por fazer o produto cartesiano. Podemos visualizar o conceito matemático de produto cartesiano aqui: https://s1.static.brasilescola.uol.com.br/be/e/Untitled-3(51).jpg

Lembrando que a questão só está correta porque a e b têm o mesmo valor para todas as tuplas. A cláusula "WHERE a.a = b.b" poderia tornar o item errado se a e b tivessem valores distintos, pois iria diminuir o número de linhas na tabela resultante.

Certo.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo