Considerando essas relações, julgue o item, no que se refere...
No SQL, o mesmo nome pode ser aplicado a mais de um atributo, desde que os atributos estejam em relações diferentes. Por isso, no caso de uma consulta das relações EMPREGADO e DEPARTAMENTO utilizando-se o atributo NUD, seria necessário o uso de qualificadores e de alias para evitar ambiguidade.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é: C - certo
Vamos entender o tema central da questão:
Em bancos de dados relacionais, como o SQL, cada tabela pode ter um conjunto de atributos (ou colunas), e é comum que diferentes tabelas compartilhem nomes de atributos iguais. A questão aborda a possibilidade de existirem atributos com o mesmo nome em tabelas diferentes dentro do mesmo esquema de banco de dados.
Contexto Teórico:
Quando estamos lidando com consultas SQL que envolvem múltiplas tabelas, especialmente em operações de JOIN, a presença de atributos com o mesmo nome em tabelas diferentes pode causar ambiguidade. Para resolver essa ambiguidade, é necessário usar qualificadores ou alias para especificar a que tabela o atributo pertence.
Exemplo Prático:
Considere a seguinte consulta SQL envolvendo as tabelas EMPREGADO e DEPARTAMENTO:
SELECT EMPREGADO.NOME, DEPARTAMENTO.NOMED, EMPREGADO.NUD
FROM EMPREGADO
JOIN DEPARTAMENTO ON EMPREGADO.NUD = DEPARTAMENTO.NUD;
Nesta consulta, utilizamos qualificadores (o nome da tabela seguido por um ponto) para especificar de qual tabela estamos referenciando o atributo NUD, evitando assim a ambiguidade.
Justificativa para a Alternativa Correta:
A afirmação de que o mesmo nome pode ser aplicado a mais de um atributo em relações diferentes está correta. E, de fato, ao utilizarmos tais atributos em uma consulta que engloba várias tabelas, precisamos de qualificadores ou alias para prevenir ambiguidade. Portanto, a resposta correta é C - certo.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
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
No SQL, é perfeitamente permitido que diferentes tabelas (relações) tenham colunas (atributos) com o mesmo nome.
Quando se faz uma consulta envolvendo mais de uma tabela, e essas tabelas possuem colunas com nomes idênticos, ocorre ambiguidade se o nome da coluna for usado sem qualificadores.
Para resolver essa ambiguidade, deve-se usar:
- Qualificadores: especificar o nome da tabela ou alias antes do atributo, por exemplo, EMPREGADO.NUD ou DEPARTAMENTO.NUD.
- Aliases: dar nomes temporários às colunas na lista SELECT para facilitar leitura e evitar confusão.
By Futuro DEV Estável.
Em tabelas diferentes, pode ter o mesmo nome.
O lance dessa questão foi o "NUD", porque sabemos que NUD não é comando. Mas oq ele faz ai?
Ele usou esse "NUD" para diferenciar as tabelas e não gerar ambiguidade. Ele é só um identificador, escolhido pelo autor da questão para representar um dado (poderia ser cpf, nud, end). O problema da questão é que, como tem o mesmo nome, precisa ser qualificado em consultas SQL.
Em resumo, o NUD não é um recurso ou comando do SQL é só um nome de uma coluna que foi usado na questão, para ilustrar o caso em que se precisa usar "empregado.nud ou d.nud" e evitar ambiguidade.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo