Está en la página 1de 3

UNIVERSIDAD POLITECNICA DE

QUINTANA ROO
Alumno:
Poot Uc Diego Leonardo
Maestra:
Ing. María José Sosa.
materia:
Base de Datos.
Carrera:
Ingeniería en software.
Cuatrimestre:
4.
Grupo:
CV.
Integridad referencial en gestores de base de datos

La integridad referencial hace que el sistema gestor de la base de datos se asegure de que
no haya en las claves foráneas valores que no estén en la tabla principal

Se llaman restricciones de integridad referencial.

Las relaciones existentes entre distintas tablas de una base de datos MySQL que utilizan
el motor de almacenamiento InnoDB pueden estar especificadas en forma de
restricciones de clave externa, de manera que la propia base de datos impida que se
realicen operaciones que provocarían inconsistencias.

El comportamiento por defecto de una restricción de clave externa es impedir un cambio


en la base de datos como consecuencia de una sentencia DELETE o UPDATE, si esta
trajese como consecuencia un fallo de la integridad referencial.

RESTRICT

Es el comportamiento por defecto, que impide realizar modificaciones que atentan contra la
integridad referencial.

Ejemplo:

DELETE FROM ciudades WHERE ciudad_id=4;

NO ACTION
El servidor MySQL rechaza la operación de eliminación o actualización para la tabla primaria
si hay un valor de clave externa relacionado en la tabla referenciada. Algunos sistemas de
base de datos tienen cheques diferidos, y NO ACTION es un cheque diferido. En MySQL,
las restricciones de clave externa se comprueban inmediatamente, por lo que NO ACTION
es igual que RESTRICT.
CASCADE

Borra los registros de la tabla dependiente cuando se borra el registro de la tabla


principal o actualiza el valor de la clave secundaria cuando se actualiza el valor de la
clave referenciada.

Ejemplo:

DELETE FROM ciudades WHERE ciudad_id=1;

SET NULL

Establece a NULL el valor de la clave secundaria cuando se elimina el registro en la


tabla principal o se modifica el valor del campo referenciado.

Ejemplos:
DELETE FROM ciudades WHERE ciudad_id=1;

SET DEFAULT

Esta acción es reconocida por el analizador de MySQL, pero tanto InnoDB como NDB
rechazan las definiciones de tablas que contienen cláusulas ON DELETE SET DEFAULT
o ON UPDATE SET DEFAULT.

También podría gustarte