-
A descrição da questão, à primeira vista, parece um pouco complicada, mas a resolução é bem simples. Há uma chave estrangeira em T2 que referencia a chave primária de T1, só que o relacionamento deve ser 1:1. Do jeito que o cenário é inicialmente descrito, esse seria um relacionamento 1:n, pois não há nada que impleça que os valores da chave estrangeira se repitam.
Para que esse relacionamento seja corretamente implementado na cardinalidade 1:1, falta somente determinar que as ocorrências da chave estrangeira devem ser únicas, o que pode ser feito com a restrição unique. Não é necessário fazer o mesmo para o atributo referenciado A, pois ele já é a chave primária de T1, então seus valores não poderiam se repetir de qualquer forma.
-
GABARITO: D
Chave Primária: referem-se aos conjuntos de um ou mais campos, cujos valores, considerando a combinação de valores em caso de mais de uma chave primária, nunca se repetem na mesma tabela.
Para garantir que o atributo D se mantenha único (chave estrangeira que referenciando o atributo A), o SQL nos dá UNIQUE, que garante que todos atributos da mesma coluna (no caso coluna D), sejam únicos
-
Se D não for Unique, um insert de 2 tuplas em T2 com o mesmo atributo D transformará a relação em 1:N.
-
Já havia um relacionamento 1:N de A com D. A questão não especifica se o relacionamento 1:1 é o de A com D, de C com B, A com C ou outra combinação.
-
Gabarito: D
"Pode-se adicionar a restrição UNIQUE a qualquer coluna que desejar, incluindo colunas de foreign keys.
Essa é uma das estratégias possíveis para forçar relacionamentos do tipo 1 para 1 em tabelas separadas.
Fazer isso não é tão comum, pois dados relacionados 1 para 1 são normalmente armazenados em uma mesma tabela do banco de dados." No link abaixo, está uma explicação mais detalhada, com tabela, explicando sobre a economia de espaço que isso também causa.
Referência: https://pt.stackoverflow.com/questions/402678/chave-estrangeira-com-unique
-
https://docs.microsoft.com/pt-br/sql/relational-databases/tables/unique-constraints-and-check-constraints?view=sql-server-ver15