SóProvas


ID
770116
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

A respeito de SQL, julgue os itens subsequentes.

Em SQL, uma junção do tipo NATURAL JOIN exige igualdade entre os atributos comuns, diferentemente do que ocorre com uma junção do tipo THETA JOIN.

Alternativas
Comentários
  • O theta join é criado quando a informação de dois campos de duas tabelas são relacionados através de um operador de comparação.
  • Qual o erro da questão?
    No meu entendimento o NATURAL JOIN vai fazer a união pelos atributos comuns quando eles tiverem valores iguais (ou seja, exige a igualdade dos atributos). Já no THETA JOIN, o operador é escolhido, podendo ser, por exemplo, <, > ou mesmo =, mas a igualdade não é uma exigência. Portanto, o gabarito seria correto, não?
  • O erro esta em dizer que THETA JOIN faz parte de SQL, Theta-join é definido apenas para a algebra relacional. 
    []´s
    Thiago Cavalcanti
  • Concordo com o Yuri e Thiago:

    O Theta Join permite comparações com qualquer operador {<, =, >, etc}; Equi Join é um Theta Join que usa somente o operador de igualdade; Natural Join é um Equi Join que tem atributos com o mesmo nome. Portanto, a questão estaria correta. Entretanto, fui verificar e realmente o Theta Join não é Padrão SQL.

    Agora, sinceramente, eu acho mais fácil o examinador ter errado o gabarito mesmo do que saber que Theta Join não é SQL Standard.
  • Caramba, primeira vez que vi esse termo THETA JOIN....
  • Considere duas relaçoes, tabela1 e tabela2, sendo q a chave primaria da tabela2 eh chave estrangeira na tabela1, com o mesmo nome(ou seja, as duas tabelas possuem campos em comum).
    Antigamente, se eu quisesse fazer um join de duas tabelas, pra me retornar as relaçoes com campos em comum, eu teria q usar o comando:

    SELECT * FROM tabela1 apelido1
    JOIN tabela2 apelido2 ON (apelido1.chave_PK = apelido2.chave_PK)

    Com o NATURAL JOIN eu consigo o mesmo resultado, de maneira bem mais simples:

    SELECT * FROM tabela1
    NATURAL JOIN tabela2

    A consulta ira me retornar os valores constantes nos atributos em comum, indicado pelas chaves primarias de cada tabela(q possuem o msm nome).

    Os 2 SQLs obtem o mesmo resultado; a unica diferença é que o NATURAL JOIN faz a ligação automática pela chave estrangeira não precisando digitar os campos, ganhando tempo de desenvolvimento e diminuindo erros em ligações entre tabelas.


    Com relacao ao tal "theta join", não existe no padrao SQL, como ja citaram.
  • theta demais essa questão.