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

Las claves candidatas no elegidas como primaria se <strong>de</strong>nominan claves<br />

alternativas.<br />

Utilizaremos la convención <strong>de</strong> subrayar los atributos que forman parte <strong>de</strong> la<br />

clave primaria en el esquema <strong>de</strong> la relación. Así pues, R(A 1 , A 2 , ..., A i , ..., A n )<br />

indica que los atributos A 1 , A 2 , ..., A i forman la clave primaria <strong>de</strong> R.<br />

Elección <strong>de</strong> la clave primaria <strong>de</strong> EMPLEADOS<br />

En la relación <strong>de</strong> esquema EMPLEADOS(DNI, NSS, nombre, apellido, teléfono), don<strong>de</strong> hay dos<br />

claves candidatas, {DNI} y {NSS}, se pue<strong>de</strong> elegir como clave primaria {DNI}. Lo indicaremos<br />

subrayando el atributo DNI en el esquema <strong>de</strong> la relación EMPLEADOS(DNI, NSS, nombre, apellido,<br />

teléfono). En este caso, la clave {NSS} será una clave alternativa <strong>de</strong> EMPLEADOS.<br />

Es posible que una clave candidata o una clave primaria conste <strong>de</strong> más <strong>de</strong> un<br />

atributo.<br />

Clave primaria <strong>de</strong> la relación DESPACHOS<br />

En la relación <strong>de</strong> esquema DESPACHOS(edificio, número, superficie), la clave primaria está formada<br />

por los atributos edificio y número. En este caso, podrá ocurrir que dos <strong>de</strong>spachos diferentes<br />

estén en el mismo edificio, o bien que tengan el mismo número, pero nunca pasará<br />

que tengan la misma combinación <strong>de</strong> valores para edificio y número.<br />

2.5. Claves foráneas <strong>de</strong> las relaciones<br />

Hasta ahora hemos estudiado las relaciones <strong>de</strong> forma individual, pero <strong>de</strong>bemos<br />

tener en cuenta que una base <strong>de</strong> <strong>datos</strong> relacional normalmente contiene<br />

más <strong>de</strong> una relación, para po<strong>de</strong>r representar distintos tipos <strong>de</strong> hechos que suce<strong>de</strong>n<br />

en el mundo real. Por ejemplo, podríamos tener una pequeña base <strong>de</strong><br />

<strong>datos</strong> que contuviese dos relaciones: una <strong>de</strong>nominada EMPLEADOS, que almacenaría<br />

<strong>datos</strong> <strong>de</strong> los empleados <strong>de</strong> una empresa, y otra con el nombre DESPA-<br />

CHOS, que almacenaría los <strong>datos</strong> <strong>de</strong> los <strong>de</strong>spachos que tiene la empresa.<br />

Debemos consi<strong>de</strong>rar también que entre los distintos hechos que se dan en el<br />

mundo real pue<strong>de</strong>n existir lazos o vínculos. Por ejemplo, los empleados que trabajan<br />

para una empresa pue<strong>de</strong>n estar vinculados con los <strong>de</strong>spachos <strong>de</strong> la empresa,<br />

porque a cada empleado se le asigna un <strong>de</strong>spacho concreto para trabajar.<br />

En el mo<strong>de</strong>lo relacional, para reflejar este tipo <strong>de</strong> vínculos, tenemos la posibilidad<br />

<strong>de</strong> expresar conexiones entre las distintas tuplas <strong>de</strong> las relaciones. Por<br />

ejemplo, en la base <strong>de</strong> <strong>datos</strong> anterior, que tiene las relaciones EMPLEADOS y<br />

DESPACHOS, pue<strong>de</strong> ser necesario conectar tuplas <strong>de</strong> EMPLEADOS con tuplas<br />

<strong>de</strong> DESPACHOS para indicar qué <strong>de</strong>spacho tiene asignado cada empleado.<br />

En ocasiones, incluso pue<strong>de</strong> ser necesario reflejar lazos entre tuplas que pertenecen<br />

a una misma relación. Por ejemplo, en la misma base <strong>de</strong> <strong>datos</strong> anterior pue<strong>de</strong>

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

Saved successfully!

Ooh no, something went wrong!