4.3.2. Actualizacion en cascada

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