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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

R := EDIFICIOS[nombreedificio = edificio, supmedia<strong>de</strong>sp ≤ superficie] DESPACHOS.<br />

Entonces, la relación R resultante será:<br />

R<br />

nombreedificio supmedia<strong>de</strong>sp edificio número superficie<br />

Marina 15 Marina 230 20<br />

Diagonal 10 Diagonal 120 10<br />

Diagonal 10 Diagonal 440 10<br />

Supongamos ahora que para obtener los <strong>datos</strong> <strong>de</strong> cada uno <strong>de</strong> los empleados <strong>de</strong> administración,<br />

junto con los <strong>datos</strong> <strong>de</strong>l <strong>de</strong>spacho don<strong>de</strong> trabajan, utilizamos la siguiente combinación:<br />

R := EMPLEADOS_ADM[edificio<strong>de</strong>sp = edificio, número<strong>de</strong>sp = número]DESPACHOS.<br />

La relación R resultante será:<br />

R<br />

DNI nombre apellido edificio<strong>de</strong>sp número<strong>de</strong>sp edificio número superficie<br />

40.444.255 Juan García Marina 120 Marina 120 10<br />

33.567.711 Marta Roca Marina 120 Marina 120 10<br />

La relación R combina los <strong>datos</strong> <strong>de</strong> cada empleado con los <strong>datos</strong> <strong>de</strong> su <strong>de</strong>spacho.<br />

En ocasiones, la combinación recibe el nombre <strong>de</strong> θ-combinación, y cuando<br />

todas las comparaciones <strong>de</strong> la condición <strong>de</strong> la combinación tienen el operador<br />

“=”, se <strong>de</strong>nomina equicombinación.<br />

Según esto, la combinación <strong>de</strong>l último ejemplo es una equicombinación.<br />

Observad que el resultado <strong>de</strong> una equicombinación siempre incluye una o<br />

más parejas <strong>de</strong> atributos que tienen valores idénticos en todas las tuplas.<br />

En el ejemplo anterior, los valores <strong>de</strong> edificio<strong>de</strong>sp coinci<strong>de</strong>n con los <strong>de</strong> edificio, y los valores <strong>de</strong><br />

número<strong>de</strong>sp coinci<strong>de</strong>n con los <strong>de</strong> número.<br />

Puesto que uno <strong>de</strong> cada par <strong>de</strong> atributos es superfluo, se ha establecido una<br />

variante <strong>de</strong> combinación <strong>de</strong>nominada combinación natural, con el fin <strong>de</strong><br />

eliminarlos.<br />

La combinación natural <strong>de</strong> dos relaciones T y S se <strong>de</strong>nota como T * S<br />

y consiste básicamente en una equicombinación seguida <strong>de</strong> la eliminación<br />

<strong>de</strong> los atributos superfluos; a<strong>de</strong>más, se consi<strong>de</strong>ra por <strong>de</strong>fecto que<br />

la condición <strong>de</strong> combinación iguala todas las parejas <strong>de</strong> atributos que<br />

tienen el mismo nombre en T y en S.<br />

Observad que, a diferencia <strong>de</strong> la equicombinación, la combinación natural<br />

se aplica a relaciones que tienen nombres <strong>de</strong> atributos comunes.<br />

Ejemplo <strong>de</strong> combinación natural<br />

Si hacemos:<br />

R := EDIFICIOS_EMP * DESPACHOS,

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

Saved successfully!

Ooh no, something went wrong!