Las claves externas permiten valores de clave que son todos NULL, incluso si no hay claves PRIMARY o UNIQUE coincidentes
Sin restricciones en la clave externa
Cuando no se definen otras restricciones en la clave externa, cualquier número de filas en la tabla secundaria puede hacer referencia al mismo valor de clave principal. Este modelo permite nulos en la clave foránea. ...
Restricción NOT NULL en la clave externa
Cuando no se permiten nulos en una clave externa, cada fila de la tabla secundaria debe hacer referencia explícitamente a un valor en la clave principal porque los nulos no están permitidos en la clave externa.
Cualquier número de filas en la tabla secundaria puede hacer referencia al mismo valor de clave principal, por lo que este modelo establece una relación de uno a muchos entre las claves principal y externa. Sin embargo, cada fila de la tabla secundaria debe tener una referencia a un valor de clave principal; No se permite la ausencia de un valor (nulo) en la clave externa. El mismo ejemplo en la sección anterior puede usarse para ilustrar tal relación. Sin embargo, en este caso, los empleados deben tener una referencia a un departamento específico.
Restricción ÚNICA en la clave externa
Cuando se define una restricción ÚNICA en la clave externa, solo una fila de la tabla secundaria puede hacer referencia a un valor de clave principal determinado. Este modelo permite nulos en la clave foránea.
Este modelo establece una relación uno a uno entre las claves principal y externa que permite valores indeterminados (nulos) en la clave externa. Por ejemplo, suponga que la tabla de empleados tenía una columna llamada MEMBERNO, que se refiere a un número de miembro de empleado en el plan de seguro de la compañía. Además, una tabla llamada INSURANCE tiene una clave principal llamada MEMBERNO, y otras columnas de la tabla mantienen la información respectiva relacionada con la póliza de seguro de un empleado. El MEMBERNO en la tabla de empleados debe ser una clave externa y una clave única:
Para imponer reglas de integridad referencial entre las tablas EMP_TAB y INSURANCE (la restricción FOREIGN KEY)
Para garantizar que cada empleado tenga un número de membresía único (la restricción de clave ÚNICA)
Restricciones ÚNICAS y NO NULAS en la clave externa
Cuando se definen restricciones ÚNICAS y NO NULAS en la clave externa, solo una fila en la tabla secundaria puede hacer referencia a un valor de clave principal dado, y dado que los valores NULL no están permitidos en la clave externa, cada fila en la tabla secundaria debe hacer referencia explícitamente Un valor en la clave principal.