¿Qué es una clave foránea en una base de datos relacional?

Las claves foráneas en una tabla de una base de datos relacional localizan información en una tabla relacionada.
Por laura deibel

Un ejemplo simple

Un ejemplo simple de una clave foránea en una base de datos es una tabla primaria "Student" (Estudiante) con Student_ID como su clave primaria. En la tabla secundaria relacionada "Course_Enrollment" (Curso_Matriculación) con Course_ID como clave primaria, para cada curso en el que un estudiante se haya matriculado aparece la clave foránea Student_ID de la tabla "Student".


Regla de integridad referencial

La regla de la integridad referencial establece que cualquier valor de clave foránea no nulo en una tabla secundaria debe hacer referencia a un valor de clave primaria de su tabla primaria en la base de datos. En el ejemplo del Paso 1 no tendría sentido en la base de datos tener un estudiante matriculado en un curso cuando no haya información acerca del estudiante en la tabla "Student". Esta regla hace cumplir la consistencia en una base de datos.


Eliminaciones en cascada

Cada registro secundario en una relación de clave foránea debe tener un registro primario correspondiente de acuerdo a la regla de integridad referencial. Una eliminación en cascada debe ocurrir toda vez que un registro de una tabla primaria sea eliminado, lo que también remueve todos los registros correspondientes de la base de datos. En el ejemplo del Paso 1, eliminar un estudiante de la tabla Student de la base de datos también eliminará todas las ocurrencias de los registros de matriculación de ese estudiante en la tabla Course_Enrollment.