La integridad referencial es la corrección de los valores de las claves foráneas de una base de datos relacional .
La tarea de mantener o garantizar la integridad referencial es prevenir o eliminar la violación de la exactitud de los valores de clave externa cuando se realizan cambios en la base de datos mediante la corrección de valores de clave externa, si es posible, o la cancelación de la operación de edición si dicha corrección es imposible.
Las relaciones entre los datos almacenados en diferentes relaciones en una base de datos relacional se establecen utilizando claves foráneas : para establecer una relación entre una tupla de la relación A con una tupla específica de la relación B , el valor de la clave principal se escribe en los atributos de la tupla de la relación A proporcionó esto (y en el caso general, la clave potencial de valor ) de la tupla objetivo de la relación B. Así, siempre es posible realizar dos operaciones:
Debido a la presencia de enlaces en una base de datos relacional, es posible almacenar hechos sin excesiva duplicación, es decir, en forma normalizada . La integridad referencial se puede ilustrar de la siguiente manera:
Dado un par de relaciones A y B unidas por una clave foránea. La clave principal de la relación B es el atributo B.key . La clave foránea de la relación A que hace referencia a B es el atributo Ab . La integridad referencial para un par de relaciones A y B tiene lugar cuando se cumple la condición: a cada tupla de la relación A le corresponde una tupla de la relación B , es decir, una tupla que tiene ( B.clave = Ab ).
Una base de datos tiene la propiedad de integridad referencial cuando cualquier par de relaciones relacionadas con claves foráneas en ella tiene la condición de integridad referencial.
Si no se cumple la condición anterior, se dice que la base de datos tiene una violación de integridad referencial . Tal base de datos no puede operarse normalmente, ya que en ella se rompen las conexiones lógicas entre los hechos que dependen unos de otros. El resultado inmediato de una violación de la integridad referencial es que una consulta válida no siempre produce el resultado correcto.
Los DBMS tienen un mecanismo para mantener automáticamente la integridad referencial. Cualquier operación que cambie los datos de una tabla activa una verificación de integridad referencial automática. Donde:
Base de datos | |
---|---|
Conceptos | |
Objetos |
|
Llaves | |
sql |
|
Componentes |