¿Te gustaría aprender Análisis y Diseño con MySQL?
Tenemos los cursos que necesitas, con los mejores ponentes y espacios online para ti. ¡Haz clic aquí!
Las claves foráneas en MySQL son un elemento fundamental para garantizar la integridad referencial en una base de datos. Actúan como un pegamento que une dos tablas, estableciendo una relación entre un campo de una tabla (la clave foránea) y el campo de otra tabla (la clave primaria).
¿Cómo funcionan las claves foráneas?
Imaginemos una base de datos con dos tablas: Pedidos y Clientes. La tabla Pedidos tiene un campo llamado id_cliente que hace referencia al campo id de la tabla Clientes. De esta manera, podemos asegurar que cada pedido está asociado a un cliente real.
Beneficios de las claves foráneas
- Integridad referencial: Previenen la creación de datos inconsistentes. Por ejemplo, no se puede crear un pedido para un cliente que no existe.
- Eficiencia en las consultas: Permiten realizar consultas más precisas y eficientes.
- Facilidad de mantenimiento: Simplifican la actualización y eliminación de datos.
Cómo crear una clave foránea en MySQL
La sintaxis para crear una clave foránea es la siguiente:
SQL
ALTER TABLE nombre_tabla
ADD FOREIGN KEY (nombre_campo)
REFERENCES nombre_tabla_referenciada (nombre_campo_referenciado);
Ejemplo:
SQL
ALTER TABLE Pedidos
ADD FOREIGN KEY (id_cliente)
REFERENCES Clientes (id);
Opciones de claves foráneas
- ON DELETE: Especifica qué sucede cuando se elimina un registro de la tabla referenciada. Las opciones son:
- RESTRICT: No se permite la eliminación si hay registros dependientes en la otra tabla.
- CASCADE: Se eliminan automáticamente los registros dependientes en la otra tabla.
- SET NULL: Se establece el valor de la clave foránea a NULL en la otra tabla.
- SET DEFAULT: Se establece el valor de la clave foránea a un valor predeterminado en la otra tabla.
- ON UPDATE: Especifica qué sucede cuando se actualiza un campo de la clave primaria en la tabla referenciada. Las opciones son:
- RESTRICT: No se permite la actualización si hay registros dependientes en la otra tabla.
- CASCADE: Se actualiza automáticamente el valor de la clave foránea en la otra tabla.
- NO ACTION: No se realiza ninguna acción en la otra tabla.
¿Te gustaría aprender Análisis y Diseño con MySQL?
Tenemos los cursos que necesitas, con los mejores ponentes y espacios online para ti. ¡Haz clic aquí!