Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Chave estrangeira para chave não primária


Se você realmente deseja criar uma chave estrangeira para uma chave não primária, DEVE ser uma coluna que tenha uma restrição exclusiva.

Dos livros on-line:

Uma restrição FOREIGN KEY não precisa ser vinculada apenas a uma restrição PRIMARYKEY em outra tabela; ele também pode ser definido para referenciar as colunas de uma restrição UNIQUE em outra tabela.

Então, no seu caso, se você fizer AnotherID único, será permitido. Se você não pode aplicar uma restrição única, você está sem sorte, mas isso realmente faz sentido se você pensar sobre isso.

Embora, como foi mencionado, se você tiver uma chave primária perfeitamente boa como chave candidata, por que não usá-la?