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

Ejemplo <strong>de</strong> correspon<strong>de</strong>ncia entre los atributos <strong>de</strong> CF y los <strong>de</strong> CP<br />

En el ejemplo anterior, a edificio<strong>de</strong>sp le correspon<strong>de</strong> el atributo edificio, y a número<strong>de</strong>sp le correspon<strong>de</strong><br />

el atributo número.<br />

3) También se <strong>de</strong>duce <strong>de</strong> la noción <strong>de</strong> clave foránea que los dominios <strong>de</strong> sus<br />

atributos <strong>de</strong>ben coincidir con los dominios <strong>de</strong> los atributos correspondientes<br />

a la clave primaria que referencia. Esta coinci<strong>de</strong>ncia <strong>de</strong> dominios hace que sea<br />

posible que los valores <strong>de</strong> la clave foránea coincidan con valores <strong>de</strong> la clave<br />

primaria referenciada.<br />

Ejemplo <strong>de</strong> coinci<strong>de</strong>ncia <strong>de</strong> los dominios<br />

En el ejemplo anterior, se <strong>de</strong>be cumplir que dominio(edificio<strong>de</strong>sp) = dominio(edificio) y también<br />

que dominio(número<strong>de</strong>sp) = dominio(número).<br />

Observad que, <strong>de</strong> hecho, esta condición se podría relajar, y se podría permitir<br />

que los dominios no fuesen exactamente iguales, sino que sólo fuesen, y <strong>de</strong><br />

alguna forma que convendría precisar, dominios “compatibles”. Para simplificarlo,<br />

nosotros supondremos que los dominios <strong>de</strong>ben ser iguales en todos los<br />

casos en que, según Date (2001), se aceptarían dominios “compatibles”.<br />

Lectura recomendada<br />

Encontraréis explicaciones<br />

<strong>de</strong>talladas sobre la<br />

coinci<strong>de</strong>ncia <strong>de</strong> dominios<br />

en la obra siguiente:<br />

C.J. Date (2001).<br />

Introducción a los sistemas <strong>de</strong><br />

bases <strong>de</strong> <strong>datos</strong> (7ª ed., cap. 19).<br />

Prentice Hall.<br />

Ejemplo <strong>de</strong> atributo que forma parte <strong>de</strong> la clave primaria y <strong>de</strong> una clave<br />

foránea<br />

Pue<strong>de</strong> suce<strong>de</strong>r que algún atributo <strong>de</strong> una relación forme parte tanto <strong>de</strong> la clave primaria<br />

como <strong>de</strong> una clave foránea <strong>de</strong> la relación. Esto se da en las relaciones siguientes: EDIFI-<br />

CIOS(nombreedificio, dirección), y DESPACHOS(edificio, número, superficie), don<strong>de</strong> {edificio}<br />

es una clave foránea que referencia EDIFICIOS.<br />

En este ejemplo, el atributo edificio forma parte tanto <strong>de</strong> la clave primaria como <strong>de</strong> la clave<br />

foránea <strong>de</strong> la relación DESPACHOS.<br />

2.6. Creación <strong>de</strong> las relaciones <strong>de</strong> una base <strong>de</strong> <strong>datos</strong><br />

Hemos visto que una base <strong>de</strong> <strong>datos</strong> relacional consta <strong>de</strong> varias relaciones. Cada<br />

relación tiene varios atributos que toman valores <strong>de</strong> unos ciertos dominios;<br />

también tiene una clave primaria y pue<strong>de</strong> tener una o más claves foráneas. Los<br />

lenguajes <strong>de</strong> los SGBD relacionales <strong>de</strong>ben proporcionar la forma <strong>de</strong> <strong>de</strong>finir<br />

todos estos elementos para crear una base <strong>de</strong> <strong>datos</strong>.<br />

Más a<strong>de</strong>lante se verá con <strong>de</strong>talle la sintaxis y el significado <strong>de</strong> las sentencias <strong>de</strong> <strong>de</strong>finición<br />

<strong>de</strong> la base <strong>de</strong> <strong>datos</strong> para el caso concreto <strong>de</strong>l lenguaje SQL.<br />

El lenguaje SQL se explica en la<br />

unidad didáctica “El lenguaje SQL”<br />

<strong>de</strong> este curso.

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

Saved successfully!

Ooh no, something went wrong!