Clave externa

Una clave externa , en una base de datos relacional , es una restricción que garantiza la integridad referencial entre dos tablas.

Una clave externa identifica una columna o conjunto de columnas de una tabla como referencia a una columna o conjunto de columnas de otra tabla (la tabla referenciada). Las columnas de la tabla a la que se hace referencia deben ser parte de una restricción de clave principal o una restricción única . La restricción de clave externa asegura que los valores de cada fila de la tabla de referencia existan en la tabla de referencia: por lo tanto, una fila de la tabla de referencia no puede contener un conjunto de valores que no exista en la tabla de referencia.

Una restricción de clave externa permite garantizar el enlace entre varias tablas, la creación del enlace se realiza tan pronto como existe el campo (la clave externa) sin restricción de clave externa: este es uno de los principios fundamentales de las bases de datos. datos relacionales.

Ejemplo

O una base de datos, compuesta por dos tablas: la tabla de objetos que contiene una lista de objetos de un inventario y la tabla de categorías , que contiene las categorías de objetos:

objet (id_objet, id_categorie, nom_objet) categorie (id_categorie, nom_categorie)

Estableciendo claves primarias en las columnas object_id de la tabla de objetos y category_id_id de la tabla de categorías y una clave externa en la columna category_id en la tabla de objetos que hace referencia a la columna category_id de la tabla de categorías:

Soportado

La restricción de clave externa es manejada por la mayoría de las bases de datos: Oracle , Microsoft SQL Server , PostgreSQL , MariaDB , etc.

En MySQL , debe usar el motor InnoDB para obtener esta funcionalidad. Actualmente, el motor MyISAM no administra claves externas.

Ver también

Notas y referencias

  1. http://dev.mysql.com/doc/refman/5.0/fr/ansi-diff-foreign-keys.html