Foreign Key
Una clave foránea es una columna que referencia la clave primaria de otra tabla, estableciendo integridad referencial entre tablas y evitando referencias huérfanas.
Propósito
Garantizar la integridad referencial, mantener la coherencia de los datos relacionados y evitar referencias a filas inexistentes.
Mecanismo
FOREIGN KEY (col) REFERENCES other(id). Restricción: los valores de la clave foránea insertados/actualizados deben existir en la clave primaria referenciada (o ser NULL). Un ON DELETE CASCADE/SET NULL opcional define el comportamiento en cascada. Las claves foráneas necesitan índices para acelerar la comprobación de restricciones y los JOIN.
Casos de uso
- Integridad referencial entre tablas
- Borrado/actualización en cascada
- Mapeo de relaciones ORM
- Restricciones de consistencia de datos
Ejemplos
- entrada
FOREIGN KEY (user_id) REFERENCES users(id)OutputReferential integrity constraintForeign key
Errores comunes
- Unindexed foreign keys lock tables during cascades
- Create an index on the foreign key column
Términos relacionados
Primary Key
Una clave primaria es la columna o combinación de columnas que identifica de forma única cada fila de una tabla — no nula y única; la identidad de la fila. GLOSARIO
JOIN
JOIN es la operación SQL que combina filas de múltiples tablas mediante una condición de join; los tipos incluyen inner, left/right/full outer y cross joins. GLOSARIO
Index
Un índice es una estructura de datos auxiliar (p. ej., árbol B+, hash) mantenida para acelerar consultas, intercambiando espacio por tiempo a costa de sobrecarga de escritura. GLOSARIO
Normalization
La normalización de bases de datos es el proceso de descomponer tablas para eliminar redundancia y anomalías de actualización, con formas normales de la 1FN a la FNBC/5FN cada vez más estrictas. GLOSARIO