Contenido del curso
Bases de Datos: De Cero a Experto

🎯 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_cliente en la tabla cliente.


🔗 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:

sql
 
CREATE TABLE cliente (
id_cliente INT PRIMARY KEY,
nombre VARCHAR(100)
);

CREATE TABLE venta (
id_venta INT PRIMARY KEY,
id_cliente INT,
fecha DATE,
FOREIGN KEY (id_cliente) REFERENCES cliente(id_cliente)
);


¿Qué sucede aquí?

  • Cada venta debe tener un id_cliente que 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

sql
 
ALTER TABLE venta
ADD CONSTRAINT fk_cliente
FOREIGN KEY (id_cliente) REFERENCES cliente(id_cliente);

📝 Fragmento práctico

  1. Crea las tablas producto y detalle_venta con claves primarias y foráneas correctamente definidas.

  2. Inserta datos en producto.

  3. Intenta insertar un detalle_venta con un producto inexistente y observa el error.

  4. Prueba borrar un producto que tiene registros en detalle_venta y 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?

Scroll al inicio