Crear llaves foraneas en SQL

Los Foreign keys o llaves foráneas permiten asegurar que la relación entre dos tablas dentro de nuestra base de datos de SQL siempre esten en sincronía. Una tabla base crea una referencia hacia una segunda tabla usando una columna llave.

Operadores

Las llaves foráneas o Foreign keys existen para evitar eliminar, insertar o modificar filas que no están correctamente referenciadas. Existen ciertas ocasiones en que se necesita modificar la tabla padre y reflejar los cambios en la tabla hijo, para esto existen las siguientes configuraciones:

  1. NO ACTION. Evita cualquier modificacion o eliminacion que pudiera invalidar los datos
  2. CASCADE. Los cambios se reflejan en la tabla referenciada
  3. SET (NULL or DEFAULT). Si algún dato es eliminado o modificado, los datos referenciados se establecen en NULL o el valor de un constraint DEFAULT

Al menos dos tablas deben estar referenciadas para que el constraint funcione. En la siguiente imagen se demuestra el uso de un foreign key basado en una llave

crear llave foranea en sql

Cuando se modifica la llave en la tabla padre, los cambios son reflejados en la tabla hija. Aunque modificar la llave no es una buena práctica es algo posible si se requiere

modificar llave foranea en sql

De igual forma si los datos son eliminados en la tabla padre, las filas que le hacían referencia en la tabla hija también son eliminados

Borrar llave foranea en sql

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *