🎯 Objetivo:
Entender qué es la integridad referencial, cómo funcionan las claves foráneas (foreign keys) y por qué son esenciales para mantener la consistencia y la calidad de los datos en una base relacional.
🧠 ¿Qué es la Integridad Referencial?
Es una regla que asegura que las relaciones entre tablas sean válidas y coherentes. Evita que haya datos “huérfanos” o incongruentes.
🔑 Clave primaria (Primary Key)
-
Identificador único de cada fila en una tabla.
-
Ejemplo:
id_clienteen la tablacliente.
🔗 Clave foránea (Foreign Key)
-
Campo en una tabla que referencia a la clave primaria de otra tabla.
-
Garantiza que el valor exista en la tabla referenciada.
🧩 Ejemplo práctico
Tablas:
¿Qué sucede aquí?
-
Cada venta debe tener un
id_clienteque exista en la tabla cliente. -
No puedes insertar una venta con un cliente que no exista.
-
Si quieres borrar un cliente, primero debes asegurarte que no tenga ventas o definir qué pasa con esas ventas.
⚠️ Restricciones comunes con claves foráneas
| Acción sobre tabla padre (cliente) | Acción sobre tabla hija (venta) | Resultado esperado |
|---|---|---|
DELETE |
Sin acción | Error si hay ventas que referencian al cliente |
DELETE CASCADE |
Elimina ventas automáticamente | Al borrar cliente, se borran todas sus ventas |
UPDATE CASCADE |
Actualiza clave en ventas si cambia padre | Al cambiar id_cliente, se actualizan ventas también |
🧾 Cómo agregar una clave foránea después de crear tablas
📝 Fragmento práctico
-
Crea las tablas
productoydetalle_ventacon claves primarias y foráneas correctamente definidas. -
Inserta datos en
producto. -
Intenta insertar un
detalle_ventacon un producto inexistente y observa el error. -
Prueba borrar un producto que tiene registros en
detalle_ventay analiza qué pasa.
💬 Por qué es importante la integridad referencial
-
Evita errores y datos inconsistentes que afectan la calidad de los análisis y reportes.
-
Facilita el mantenimiento y evita problemas en las aplicaciones que usan la base.
-
Permite definir reglas claras sobre qué hacer al eliminar o actualizar datos relacionados.
✅ Revisión rápida
-
¿Qué es una clave foránea?
-
¿Qué pasa si intentas insertar un registro con una clave foránea inválida?
-
¿Para qué sirve la opción
ON DELETE CASCADE?