Está en la página 1de 3

Integridad Referencial

 Las restricciones de integridad


referencial en cascada permiten definir
las acciones que SQL Server lleva a cabo
cuando un usuario intenta eliminar o
actualizar una clave a la que apuntan las
claves externas existentes
existentes..

UACA
Bases de Datos II

Existen cuatro tipos ON DELETE NO ACTION


 Especifica que si se intenta eliminar una
 ON DELETE NO ACTION fila con una clave a la que hacen
 ON UPDATE NO ACTION referencia las claves externas de las filas
 ON DELETE CASCADE existentes en otras tablas, se produce un
 ON UPDATE CASCADE error y se revierte la instrucción DELETE.
 ON DELETE SET NULL
 ON UPDATE SET NULL
 ON DELETE SET DEFAULT
 ON UPDATE SET DEFAULT

ON UPDATE NO ACTION ON DELETE CASCADE


Especifica que si se intenta actualizar un Especifica que si se intenta eliminar una
valor de clave en una fila a cuya clave fila con una clave a la que hacen
hacen referencia las claves externas de referencia claves externas de filas
filas existentes en otras tablas, se existentes en otras tablas, todas las filas
produce un error y se revierte la que contienen dichas claves externas
instrucción UPDATE. también se eliminan.

1
ON UPDATE CASCADE ON DELETE SET NULL
Especifica que si se intenta actualizar Especifica que si se intenta eliminar una
fila con una clave a la que hacen
un valor de clave de una fila a cuyo
referencia las claves externas de las filas
valor de clave hacen referencia existentes de otras tablas, todos los
claves externas de filas existentes valores que conforman la clave externa
en otras tablas, también se de las filas a las que se hace referencia
se establecen en NULL. Todas las
actualizan todos los valores que
columnas de clave externa de la tabla de
conforman la clave externa al nuevo destino deben aceptar valores NULL para
valor especificado para la clave. que esta restricción se ejecute.

ON UPDATE SET NULL ON DELETE SET DEFAULT


 Especifica que si se intenta actualizar  Especifica que si se intenta eliminar una fila con una
clave a la que hacen referencia las claves externas de
una fila con una clave a la que hacen las filas existentes de otras tablas, todos los valores
referencia las claves externas de las filas que conforman la clave externa de las filas a las que
se hace referencia se establecen como
existentes de otras tablas, todos los predeterminados. Todas las columnas de clave externa
valores que conforman la clave externa de la tabla de destino deben tener una definición
predeterminada para que esta restricción se ejecute.
de las filas a las que se hace referencia Si una columna acepta valores NULL y no se ha
se establecen en NULL. Todas las establecido ningún valor predeterminado explícito,
NULL se convierte en el valor predeterminado implícito
columnas de clave externa de la tabla de de la columna. Todos los valores distintos de NULL
destino deben aceptar valores NULL para que se establecen debido a ON DELETE SET DEFAULT
deben tener unos valores correspondientes en la tabla
que esta restricción se ejecute. principal para mantener la validez de la restricción de
la clave externa.

ON UPDATE SET DEFAULT Creación de Diagrama


 Especifica que si se intenta actualizar una fila con una clave
a la que hacen referencia las claves externas de las filas
existentes de otras tablas, todos los valores que conforman
la clave externa de la fila a los que se hace referencia se
establecen en sus valores predeterminados. Todas las
columnas externas de la tabla de destino deben tener una
definición predeterminada para que esta restricción se
ejecute. Si una columna se convierte en NULL, y no hay
establecido ningún valor predeterminado explícito, NULL
deviene el valor predeterminado implícito de la columna.
Todos los valores no NULL que se establecen debido a ON
UPDATE SET DEFAULT deben tener unos valores
correspondientes en la tabla principal para mantener la
validez de la restricción de clave externa.

2
Creación de relaciones
 Una vez agregadas las tablas al
diagrama se procede a arrastrar el llave
primaria de la tabla hacia lo que sera la
llave secundaria en la otra tabla. Eso nos
presentra la siguiente pantalla donde se
define el tipo de integridad

Practica
 Aplicar a la tabla categorias – peliculas una  Aplicar a la tabla ubicaciones–
ubicaciones– peliculas una
integridad de castada, tanto para insert integridad de cascada, tanto para insert como update.
como update.  Consulte la ubicaciones 0001 de la peliculas.
 Consulte la categoria 0001 de la peliculas.  Eliminar el codigo 0001 de la tabla de ubicaciones.
 Eliminar el codigo 0001 de la tabla de  Consulte la ubicaciones 0001 de la peliculas.
ubicaciones.  Consulte la ubicaciones 0004 de la peliculas.
 Consulte la categoria 0001 de la peliculas.  Actualizar el codigo 0004 al codigo 0010 de la tabla
 Consulte la categoria 0005 de la peliculas. de ubicaciones.
 Actualizar el codigo 0005 al codigo 0007 de  Consulte la ubicaciones 0004 de la peliculas.
la tabla de ubicaciones.  Consulte la ubicaciones 0010 de la peliculas.
 Consulte la categoria 0005 de la peliculas.

 Modifique la tabla peliculas para que el campo estado  Modifique la tabla peliculas para que el campo tipo
perita nulos tenga por defecto el valor 0001.
 Aplicar a la tabla estados – peliculas una integridad  Aplicar a la tabla tipos – peliculas una integridad de
de set null, tanto para insert como update. set default, tanto para insert como update.
 Consulte el estado 0001 de la peliculas.  Consulte el tipo 0002 de la peliculas.
 Eliminar el codigo 0001 de la tabla de estados.  Eliminar el codigo 0002 de la tabla de tipo.
 Consulte la tabla peliculas para ver si existe el estado  Consulte la tabla peliculas para ver que paso con los
0001. tipos 0002.
 Consulte el estado 0003 de la peliculas.  Consulte el tipo 0003 de la peliculas.
 Actualizar el codigo 0003 al codigo 0011 de la tabla  Actualizar el codigo 0003 al codigo 0012 de la tabla
de ubicaciones. de tipos.
 Consulte la tabla peliculas para ver que sucedió con  Consulte la tabla peliculas para ver que sucedió con
los estados 0003. los tipo 0003.

También podría gustarte