06.09.2014 Views

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

© FUOC • 71Z799014MO 29 El mo<strong>de</strong>lo relacional y el álgebra relacional<br />

4.3.3. Anulación<br />

Esta política consiste en permitir la operación <strong>de</strong> actualización <strong>de</strong> la tupla y en<br />

efectuar operaciones compensatorias que pongan valores nulos a los atributos<br />

<strong>de</strong> la clave foránea <strong>de</strong> las tuplas que la referencian; esta acción se lleva a cabo<br />

para mantener la integridad referencial.<br />

Puesto que generalmente los SGBD relacionales permiten establecer que un<br />

<strong>de</strong>terminado atributo <strong>de</strong> una relación no admite valores nulos, sólo se pue<strong>de</strong><br />

aplicar la política <strong>de</strong> anulación si los atributos <strong>de</strong> la clave foránea sí los admiten.<br />

Más concretamente, la anulación en caso <strong>de</strong> borrado consiste en permitir<br />

el borrado <strong>de</strong> una tupla t que tiene una clave referenciada y, a<strong>de</strong>más,<br />

modificar todas las tuplas que referencian t, <strong>de</strong> modo que los<br />

atributos <strong>de</strong> la clave foránea correspondiente tomen valores nulos.<br />

De forma similar, la anulación en caso <strong>de</strong> modificación consiste en<br />

permitir la modificación <strong>de</strong> atributos <strong>de</strong> la clave primaria <strong>de</strong> una tupla<br />

t que tiene una clave referenciada y, a<strong>de</strong>más, modificar todas las tuplas<br />

que referencian t, <strong>de</strong> modo que los atributos <strong>de</strong> la clave foránea correspondiente<br />

tomen valores nulos.<br />

Ejemplo <strong>de</strong> aplicación <strong>de</strong> la anulación<br />

El mejor modo <strong>de</strong> enten<strong>de</strong>r en qué consiste la anulación es mediante un ejemplo. Tenemos<br />

las siguientes relaciones:<br />

• Relación VENDEDORES:<br />

VENDEDORES<br />

numven<strong>de</strong>dor ...<br />

1 –<br />

2 –<br />

3 –<br />

• Relación CLIENTES:<br />

CLIENTES<br />

numcliente ... ven<strong>de</strong>dorasig*<br />

23 – 1<br />

35 – 1<br />

38 – 2<br />

42 – 2<br />

50 – 3<br />

* {ven<strong>de</strong>dorasig} referencia VENDEDORES.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!