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 40 El mo<strong>de</strong>lo relacional y el álgebra relacional<br />

5.1.4. Producto cartesiano<br />

El producto cartesiano es una operación que, a partir <strong>de</strong> dos relaciones,<br />

obtiene una nueva relación formada por todas las tuplas que resultan<br />

<strong>de</strong> concatenar tuplas <strong>de</strong> la primera relación con tuplas <strong>de</strong> la segunda.<br />

El producto cartesiano es una operación binaria. Siendo T y S dos relaciones<br />

que cumplen que sus esquemas no tienen ningún nombre <strong>de</strong><br />

atributo común, el producto cartesiano <strong>de</strong> T y S se indica como T × S.<br />

Si calculamos el producto cartesiano <strong>de</strong> EDIFICIOS_EMP y DESPACHOS, obtendremos una<br />

nueva relación que contiene todas las concatenaciones posibles <strong>de</strong> tuplas <strong>de</strong> EDIFICIOS_EMP<br />

con tuplas <strong>de</strong> DESPACHOS.<br />

Si se quiere calcular el producto cartesiano <strong>de</strong> dos relaciones que tienen algún<br />

nombre <strong>de</strong> atributo común, sólo hace falta re<strong>de</strong>nominar previamente los atributos<br />

a<strong>de</strong>cuados <strong>de</strong> una <strong>de</strong> las dos relaciones.<br />

A continuación <strong>de</strong>finimos los atributos y la extensión <strong>de</strong> la relación resultante<br />

<strong>de</strong> un producto cartesiano.<br />

Los atributos <strong>de</strong>l esquema <strong>de</strong> la relación resultante <strong>de</strong> T × S son todos<br />

los atributos <strong>de</strong> T y todos los atributos <strong>de</strong> S*.<br />

* Recordad que T y S no tienen<br />

ningún nombre <strong>de</strong> atributo común.<br />

La extensión <strong>de</strong> la relación resultante <strong>de</strong> T × S es el conjunto <strong>de</strong> todas<br />

las tuplas <strong>de</strong> la forma para las que se cumple<br />

que pertenece a la extensión <strong>de</strong> T y que pertenece a la extensión <strong>de</strong> S.<br />

Ejemplo <strong>de</strong> producto cartesiano<br />

El producto cartesiano <strong>de</strong> las relaciones DESPACHOS y EDIFICIOS_EMP <strong>de</strong>l ejemplo se pue<strong>de</strong><br />

hacer como se indica (es necesario re<strong>de</strong>nominar atributos previamente):<br />

EDIFICIOS(nombreedificio, supmedia<strong>de</strong>sp) := EDICIOS_EMP(edificio, supmedia<strong>de</strong>sp).<br />

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

R := EDIFICIOS × DESPACHOS.<br />

R<br />

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

Marina 15 Marina 120 10<br />

Marina 15 Marina 230 20<br />

Marina 15 Diagonal 120 10<br />

Marina 15 Diagonal 440 10<br />

Diagonal 10 Marina 120 10

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

Saved successfully!

Ooh no, something went wrong!