sql >> Base de Datos >  >> RDS >> Sqlserver

Clave externa a clave no principal

Si realmente desea crear una clave externa para una clave no primaria, DEBE ser una columna que tenga una restricción única.

De Libros en línea:

Una restricción FOREIGN KEY no tiene que estar vinculada solo a una restricción PRIMARYKEY en otra tabla; también se puede definir para hacer referencia a las columnas de una restricción ÚNICA en otra tabla.

Entonces, en su caso, si crea AnotherID único, será permitido. Si no puede aplicar una restricción única, no tiene suerte, pero esto realmente tiene sentido si lo piensa.

Aunque, como se ha mencionado, si tiene una clave primaria perfectamente buena como clave candidata, ¿por qué no usarla?