La política de actualización en cascada consiste en permitir la operación de actualización de la tupla, y en efectuar operaciones compensatorias que propaguen en cascada la actualización a las tuplas que la referenciaban; se actúa de este modo para mantener la integridad referencial.
Más concretamente, la actualización en cascada en caso de borrado consiste en permitir el borrado de una tupla t que tiene una clave primaria referenciada, y borrar también todas las tuplas que referencian t.
De forma similar, la actualización en cascada en caso de modificación consiste en permitir la modificación de atributos de la clave primaria de una tupla t que tiene una clave primaria referenciada, y modificar del mismo modo todas las tuplas que referencian t.
Ejemplo de aplicación de la actualización en cascada
Supongamos que tenemos las siguientes relaciones:
•Relación EDIFICIOS:
-
EDIFICIOS
nombreedificio
...
Marina
–
Diagonal
–
•Relación DESPACHOS:
-
DESPACHOS
edificio*
número
superficie
Marina
120
10
Marina
122
15
Marina
230
20
Diagonal
120
10
* {edificio} referencia EDIFICIOS.
a) Si aplicamos la actualización en cascada en caso de borrado y, por ejemplo, queremos borrar el edificio Diagonal, se borrará también el despacho Diagonal 120 que hay en el edificio,
y nos quedará:
•Relación EDIFICIOS:
-
EDIFICIOS
nombreedificio
...
Marina
–
•Relación DESPACHOS:
-
DESPACHOS
edificio*
número
superficie
Marina
120
10
Marina
122
15
Marina
230
20
* {edificio} referencia EDIFICIOS.
b) Si aplicamos la actualización en cascada en caso de modificación, y queremos modificar
el nombre del edificio Marina por Mar, también se cambiará Marina por Mar en los despachos Marina 120, Marina 122 y Marina 230, y nos quedará:
•Relación EDIFICIOS:
-
EDIFICIOS
nombreedificio
...
Mar
•Relación DESPACHOS:
-
DESPACHOS
edificio*
número
superficie
Mar
120
10
Mar
122
15
Mar
230
20