Considere o diagrama IDEF1X a seguir.Assinale a opção que ap...

Próximas questões
Com base no mesmo assunto
Q914461 Banco de Dados

Considere o diagrama IDEF1X a seguir.


Imagem associada para resolução da questão

Assinale a opção que apresenta o script SQL que cria a tabela E1 corretamente.

Alternativas

Comentários

Veja os comentários dos nossos alunos

Alternativas A e B estão iguais, eu acho. 
Até fiz um diff, deu um espaço de diferença só. 

Como E1 tem um auto relacionamento 1:1, já devemos procurar o unique em AA. Elimina A, B e C.

Elimina E porque AA pode ser null (representado pelo círculo vazio).

Gab D.

Unique key constraints also identifies an individual tuple uniquely in a relation or table. A table can have more than one unique key unlike primary key. Unique key constraints can accept only one NULL value for column. Unique constraints are also referenced by the foreign key of another table. It can be used when someone wants to enforce unique constraints on a column and a group of columns which is not a primary key.

https://www.geeksforgeeks.org/difference-between-primary-key-and-unique-key/

Não sei se a minha lógica está correta, mas vamos lá.

Imagine uma empresa que tenha empregados e supervisores. Vocês concordam que os supervisores, na verdade, também são empregados dessa empresa?

Sendo assim, não há a necessidade de se criar duas tabelas para representar o relacionamento entre empregados e supervisores. Basta fazermos uma tabela que faz referência a si própria.

Até aqui, acho que é tranquilo.

Agora, a pergunta é: por que a chave estrangeira (FK) na questão tem que assumir valores únicos (UNIQUE)? Porque nós estamos diante de um relacionamento (1:1). Seria algo como um empregado tem um supervisor e um supervisor, por sua vez, gerencia somente um empregado. Se você não colocar a restrição UNIQUE, corre o risco, por exemplo, de um supervisor gerenciar mais de um empregado, o que quebraria a relação (1:1).

Aí, pode surgir uma segunda dúvida: mas o enunciado fala que a FK pode ser null. Se ela for null, eu poderia ter mais de duas linhas com valor null? Não estaria quebrando a restrição do UNIQUE, que fala em valores que não podem se repetir?

Nesse caso, não, porque o null não é considerado para fins de comparação para a restrição UNIQUE.

Fonte: https://stackoverflow.com/questions/20154033/allow-null-in-unique-column

Clique para visualizar este comentário

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