Вы находитесь на странице: 1из 8

Grao en Informacin e Documentacin: Bases de datos documentais

Curso 2011 2012

El modelo relacional
El modelo relacional constituye una alternativa para la organizacin y representacin de
la informacin que se pretende almacenar en una base de datos. Se trata de un modelo
terico matemtico que, adems de proporcionarnos los elementos bsicos de modelado
(las relaciones), incluye un conjunto de operadores (definidos en forma de un lgebra
relacional) para su manipulacin, sin ambigedad posible.
El carcter formal del modelo relacional hace relativamente sencilla su representacin y
gestin por medio de herramientas informticas. No es casual, pues, que haya sido
elegido como referencia para la construccin de la gran mayora de los Sistemas de
Gestin de Bases de Datos comerciales disponibles en el mercado; ni tampoco que sea
tambin habitualmente seleccionado como modelo de referencia para la elaboracin del
esquema lgico de una base de datos, como tercer paso de la habitual metodologa de
diseo de BDs (despus del anlisis de requerimientos y la elaboracin del esquema
conceptual).
En el modelo relacional se basa en el concepto matemtico de relacin. En este modelo,
la informacin se representa en forma de tablas o relaciones, donde cada fila de la
tabla se interpreta como una relacin ordenada de valores (un conjunto de valores
relacionados entre s). El siguiente ejemplo presenta una relacin que representa al
conjunto de los departamentos de una determinada empresa, y que recoge informacin
sobre los mismos.
Num Nombre Localidad
D-01 Ventas A Corua
D-02 I+D
Ferrol
Figura 1: relacin Departamentos

Definiciones
Formalmente, una relacin se define como un conjunto de n-tuplas; donde una n-tupla
se define a su vez como un conjunto ordenado de valores atmicos (esto es, no
divisibles ni descomponibles en valores mas pequeos.
En el ejemplo 1, la relacin mostrada incluye dos 3-tuplas: (D-01, Ventas, A
Corua) y (D-02, I+D, Ferrol). Cada tupla incluye informacin sobre los
departamentos de una determinada empresa con sede en Galicia: el identificador del
departamento dentro de la empresa, su nombre, y la localidad donde tiene su sede. En
cada tupla, los tres valores estn relacionados por el hecho de describir todos ellos al
mismo departamento.
Cada relacin, vista como una tabla, consta de un conjunto de columnas; cada una de
esas columnas recibe el nombre de atributo. A cada atributo de una relacin le
corresponde un nombre, que debe ser nico dentro de la relacin, y un dominio: el
conjunto de valores vlidos para un atributo; o, dicho de otra manera, el conjunto de
valores que cada tupla de la relacin puede tomar para ese atributo.
En el caso de la relacin de nuestro ejemplo, los atributos de la misma seran Num,
Nombre y Localidad. Cada uno de ellos tendr un dominio asociado: el conjunto de los
Autor: Juan Ramn Lpez Rodrguez

Grao en Informacin e Documentacin: Bases de datos documentais

Curso 2011 2012

identificadores vlidos de departamento (una cadena alfanumrica con formato D-xx),


el conjunto de todos los nombres de departamento vlidos (cadenas de texto de
cualquier longitud), y el conjunto de todas los nombres de localidades gallegas (dem),
respectivamente.
El esquema de una relacin es una descripcin de su estructura interna (es decir, los
atributos que la componen), en la forma siguiente:
R (A1, ... , An)
siendo R el nombre de la relacin, y A1, ... , An los nombres de sus n atributos. As, el
esquema de la relacin Departamentos sera:
Departamentos (Num, Nombre, Localidad)
Podemos afirmar que el esquema de una relacin constituye su intensin, es decir, la
parte invariante de la relacin. En nuestro ejemplo, el tipo de informacin que
reflejaremos sobre los departamentos ser siempre la misma: el cdigo, nombre y
localidad de cada uno.
Sin embargo, la informacin recogida en una relacin est expuesta constantemente al
cambio: nuestra empresa puede sufrir reestructuraciones, apareciendo o desapareciendo
departamentos, o viendo estos modificada su sede. Se dice que el conjunto de las tuplas
que conforman una relacin constituye su extensin: la parte variable de la relacin. De
acuerdo con la notacin expresada antes, podemos representar a cada tupla de una
relacin R por medio del siguiente formato:
(v1, ... , vn)
siendo v1 el valor de la tupla para el atributo A1, y vn el valor de la tupla para el atributo
An. Por ejemplo (D-01, Ventas, A Corua) sera la tupla correspondiente al
departamento de Ventas en la relacin Departamentos.
A partir del esquema de la relacin es posible determinar su grado 1: el nmero de
atributos de los que consta. As, la relacin de nuestro ejemplo sera de grado 3.
Finalmente, es preciso revisar en detalle la definicin del concepto de relacin. Dicha
definicin especifica que una relacin consiste en un conjunto de tuplas. Eso implica
que no se puede aplicar un orden de ningn tipo a las tuplas de una relacin (no estn
ordenadas). Eso implica que las dos relaciones que mostramos a continuacin son en
realidad la misma relacin, presentada de dos maneras diferentes:
Num Nombre Localidad
D-01 Ventas A Corua
D-02 I+D
Ferrol

Num Nombre Localidad


D-02 I+D
Ferrol
D-01 Ventas A Corua

Figura 2: La misma

relacin presentada
con sus tuplas en diferente orden

Llegados a este punto, es necesario destacar la importancia de distinguir los conceptos de relacin,
atributo y grado del modelo relacional y los de tipo de relacin, atributo y grado del modelo entidadrelacin. Pese a la desafortunada coincidencia de terminologa, se trata de conceptos diferentes con
diferente significado.
Autor: Juan Ramn Lpez Rodrguez

Grao en Informacin e Documentacin: Bases de datos documentais

Curso 2011 2012

Nulos
Hasta este punto, hemos presentado el elemento fundamental sobre el que se basa el
modelo relacional: la relacin. Hemos visto que las relaciones estn constituidas por
tuplas, y que cada tupla contiene informacin sobre un determinado objeto del mundo
real, proporcionando valores a un conjunto de atributos establecidos en la definicin de
la relacin.
Desgraciadamente sucede que, en ocasiones, es complicado conocer los valores de esos
atributos para un determinado objeto (para una determinada tupla). Por ejemplo, en el
caso de la relacin Departamentos que venimos utilizando como referencia, puede
suceder que un departamento de reciente creacin no tenga todava asociada una sede
definitiva (ver ejemplo 3).
Num
D-01
D-02
D-03

Nombre
Localidad
Ventas
A Corua
I+D
Ferrol
Contabilidad
?

Figura 3: relacin Departamentos

En todos los casos en los que el valor de un atributo para una determinada tupla
no se conozca
no exista el valor / el atributo no sea aplicable
el modelo relacional permite el uso de un valor especial, no perteneciente a ningn
dominio particular: el valor nulo
Num
D-01
D-02
D-03

Nombre
Localidad
Ventas
A Corua
I+D
Ferrol
Contabilidad
Nulo

Figura 4: relacin Departamentos, con el uso de valores nulos

Es necesario indicar que el uso de los valores nulos debe ser evitado en lo posible, ya
que (por motivos cuya explicacin va ms all del objetivo de estas notas) suele dar
lugar a problemas a la hora de manipular o acceder a la informacin.
Restricciones de integridad
Cada tupla de una relacin debe proporcionar valores a sus atributos. De cualquier
manera? No. Para garantizar la consistencia y la facilidad de manipulacin de la
informacin representada, existen una serie de reglas que deben ser cumplidas y que son
un elemento constituyente del modelo relacional. A esas reglas de consistencia se las
conoce, en la terminologa del modelo, como restricciones de integridad. Podemos
distinguir varios tipos de restricciones:

Restriccin de DOMINIO: Los dominios de los atributos de una relacin


deben ser atmicos
Esta restriccin exige que los valores de cualquier tupla de una relacin R
correspondientes a los atributos A1, ..., An de R deben ser valores atmicos.
Esto es, esos valores no pueden ser descomponibles en valores ms pequeos
o simples. Esta condicin pretende garantizar que todas las relaciones
presenten un formato regular, que pueda ser fcilmente manipulable por

Autor: Juan Ramn Lpez Rodrguez

Grao en Informacin e Documentacin: Bases de datos documentais

Curso 2011 2012

medio de un sencillo procedimiento o algoritmo, implementado en la forma


de un programa informtico.
En el caso de nuestro ejemplo, estos dos casos no seran vlidos:
Num Nombre Localidad
A Corua
D-01 Ventas
Ferrol
D-02 I+D
Ferrol
Figura 5: relacin no vlida por uso de valor mltiple

En la figura 5 se muestra un ejemplo de una relacin en la que una de sus


tuplas, la correspondiente al departamento de Ventas, presenta un doble valor
para el atributo Localidad. De esa forma se pretende representar el hecho de
que Ventas tiene dos sedes: A Corua y Ferrol. Este formato viola la
restriccin de dominio, ya que rompe la regularidad de la tabla (de la
relacin). El nico formato de representacin posible de esa informacin
sera el siguiente:
Num Nombre Localidad
D-01 Ventas A Corua
D-02 I+D
Ferrol
D-01 Ventas
Ferrol
Figura 6: relacin corregida para ser correcta

En la figura 6 se muestra otro ejemplo en el que ahora el atributo Localidad


se usa para almacenar conjuntamente la sede de cada departamento y el
correspondiente cdigo postal, aun cuando se espera que posteriormente
estos dos elementos de informacin vayan a necesitar ser accedidos por
separado. Se trata por lo tanto de un atributo compuesto que viola la
restriccin de dominio, ya que rompe el modo de acceso regular al valor de
un atributo: no se trata ya de recuperar simplemente al valor (la sede
correspondiente a cada departamento), sino que ahora, en algunos casos, es
necesario separar ese valor en sus elementos constituyentes (la localidad y el
cdigo postal).
Num Nombre Localidad
D-01 Ventas
A Corua
D-02 I+D
15528 Ferrol
Figura 7: relacin no vlida por uso de valor compuesto

Restriccin de CLAVE: En una relacin no puede haber ninguna tupla


repetida
Ningn conjunto admite, por definicin, la existencia de elementos repetidos
en su contenido. Tratndose de un conjunto de tuplas, las relaciones
requieren la misma exigencia.
Que la extensin de una relacin no incluya tuplas repetidas, implica que
todas las tuplas que contiene puedan ser diferenciadas entre s por el valor de
al menos un atributo.
Eso nos lleva al concepto de superclave de una relacin: cualquier
subconjunto (propio o no) de atributos de la relacin, que nos permita

Autor: Juan Ramn Lpez Rodrguez

Grao en Informacin e Documentacin: Bases de datos documentais

Curso 2011 2012

diferenciar a cualesquiera dos tuplas que formen parte de su extensin a


partir de los valores de las tuplas para esos atributos. Toda relacin cuenta
con una o ms superclaves. En el peor de los casos, tendremos una
superclave nica: aquella formada por el conjunto de todos los atributos de la
relacin. En el caso de nuestro ejemplo, seran superclaves los siguientes
conjuntos de atributos:
(Num, Nombre, Localidad)
(Num, Localidad)
(Nombre, Localidad)
No existen (ni pueden existir) dos tuplas en la relacin Departamentos para
los que coincidan simultneamente los valores de nmero, nombre y
localidad; ni siquiera los valores de nmero y localidad; o los de nombre y
localidad. Sin embargo, hemos visto que dos tuplas de la relacin pueden
coincidir en sus valores de nmero y nombre (ver Figura 6). Por lo tanto, los
siguientes subconjuntos de atributos no constituyen una superclave de la
relacin:
(Num, Nombre)
(Num)
(Nombre)
(Localidad)
Para poder distinguir a dos tuplas cualesquiera de una relacin, sera
necesario, en principio, comparar, uno por uno, los valores de todos y cada
uno de sus atributos. Sin embargo, y por cuestiones prcticas, lo ideal sera
seleccionar un subconjunto mnimo de los atributos suficiente para
identificarlas. Llamamos claves candidatas de la relacin todas las
superclaves mnimas o no descomponibles, es decir, aquellos conjuntos de
atributos de los que ninguno puede ser eliminado sin provocar que el
conjunto deje de ser una superclave de la relacin.
En el caso de nuestro ejemplo, el conjunto (Num, Nombre, Localidad)
contiene a las superclaves (Num, Localidad) y (Nombre, Localidad), y no
sera, por lo tanto, superclave mnima de la relacin (si eliminamos Nombre
o Localidad del conjunto, este seguir siendo clave candidata). S lo seran
tanto (Num, Localidad) como (Nombre, Localidad): pueden existir tuplas
diferentes con el mismo nmero, nombre o localidad (ver Figura 6). Pero
nunca existirn dos tuplas en la relacin con el mismo nmero y localidad
simultneamente, ni con el mismo nombre y sede.
Todas las claves candidatas son superclaves mnimas, cuyos valores son
suficientes para distinguir a dos tuplas cualesquiera de una relacin. A
efectos prcticos, el modelo relacional recomienda seleccionar una sola de
las posibles claves candidatas para ser utilizada cuando sea necesaria: la
escogida ser la clave primaria de la relacin.
En el ejemplo, podramos seleccionar entre (Num, Localidad) y (Nombre,
Localidad). Cualquiera de las dos claves candidatas sera una correcta clave
primaria de la relacin.
La clave primaria de una relacin debe ser indicada en la representacin del
esquema de la misma, subrayando los nombres de los atributos que forman
parte de la misma.
Autor: Juan Ramn Lpez Rodrguez

Grao en Informacin e Documentacin: Bases de datos documentais

Curso 2011 2012

Departamentos (Num, Nombre, Localidad)

Restriccin de INTEGRIDAD de ENTIDAD: Ninguna tupla de una


relacin puede tomar valores nulos en los atributos que forman parte de su
clave primaria
La necesidad de esta restriccin es clara: dado que es la clave primaria la que
nos permite distinguir a las tuplas entre s, los valores correspondientes a la
clave deben ser conocidos en cada tupla para poder diferenciarla.
En la figura 6 presentbamos una posible extensin de la relacin, en la que
veamos que un mismo departamento poda tener sedes en dos o ms
localidades. Suponiendo que dichas localidades fuesen desconocidas, la
relacin de la Figura 6 presentara la siguiente extensin:
Num
D-01
D-02
D-01

Nombre Localidad
Ventas
I+D
Ferrol
Ventas

Figura 8: relacin corregida para ser correcta

Siendo desconocidos los valores de Localidad en ambas tuplas, es imposible


distinguir a una de otra. Se trata por tanto de una relacin incorrecta, no
vlida, debido a que viola la restriccin de integridad de entidad.

Restricciones de INTEGRIDAD REFERENCIAL: Si una tupla de una


relacin R1 hace referencia a una relacin R2, debe referirse a una tupla que
exista realmente en R2.
Este tipo de restricciones permite garantizar la consistencia en el caso de
relaciones que mantengan una cierta vinculacin. Por ejemplo, volvamos a
nuestro ejemplo de la empresa. Supongamos que nuestra relacin
Departamentos presenta, en un momento dado, la siguiente extensin:
Num Nombre Localidad
D-01 Ventas A Corua
D-02 I+D
Ferrol
Figura 9: relacin Departamentos

Y que adems, contamos tambin con una relacin Empleados que nos
permite mantener informacin sobre los empleados de nuestra empresa, y
cuya extensin es la que sigue:
NSS
1253
3356
9012

Nombre
Juan
Pedro
Mara

NumD Localidad
D-01 A Corua
D-02
Ferrol
D-03
Narn

Figura 10: relacin Empleados

La relacin pretende representar el nmero de seguridad social de cada


empleado (mediante el atributo NSS, que acta como clave primaria), su
nombre, y todos los datos relativos al departamento en el que trabaja. Para
evitar problemas de redundancia, en lugar de representar todos los datos de
cada departamento, se incluye una referencia a la tupla que le corresponde en
la relacin Departamentos. Esa referencia se realiza por medio de los valores
de la clave primaria de la tupla: el nmero de departamento (NumD) y la
Autor: Juan Ramn Lpez Rodrguez

Grao en Informacin e Documentacin: Bases de datos documentais

Curso 2011 2012

localidad donde tiene su sede (Localidad). Evidentemente, para que la


referencia sea correcta y tengamos acceso a la informacin sobre el
departamento al que pertenece un empleado, la tupla referenciada debe
existir en la tabla Departamentos.
En el caso del ejemplo, los departamentos referenciados en el caso de los
empleados Juan y Pedro existen realmente. En cambio, no existe ningn
departamento D03, con sede en Narn (al menos, este hecho no est
reflejado en la tabla Departamentos) y, por lo tanto, no es posible averiguar
nada acerca del departamento al que pertenece Mara (ni siquiera su
nombre). La tupla correspondiente a Mara viola una restriccin de
integridad referencial de Empleados con respecto a Departamentos.
Los atributos NumD y Localidad de Empleados constituyen un ejemplo de
clave fornea: son atributos de la relacin Empleados, pero constituyen
tambin la clave primaria de Departamentos: ese es el motivo de que sean
precisamente ellos los que se usen para referenciar al departamento de cada
empleado.
Dadas dos relaciones R1 y R2, un conjunto de atributos A1...An de R1 se dice
clave fornea de R1 con respecto a R2 si A1...An es tambin la clave primaria
de R2. Dicho de otra manera, A1...An es una clave fornea de R1 con respecto
a R2 si ese conjunto de atributos figura tanto en el esquema de R1 como en el
de R2; usndose en R2 como clave primaria, y usndose en R1 para
referenciar a tuplas de R2.
Hecha ya la definicin de clave fornea, podemos dar ya una definicin un
poco ms formal de las restricciones de integridad referencial: Dadas dos
relaciones R1 y R2, los valores que tome cualquier clave fornea de R1 con
respecto a R2 slo pueden ser valores que correspondan a la clave primaria
de alguna tupla de R2.
Esquema de una BD relacional
Como decamos al principio, el modelo relacional es el seleccionado habitualmente
como referencia para la elaboracin del esquema lgico de una base de datos. Una base
de datos, desde el punto de vista relacional, est formada por un conjunto de relaciones.
El esquema lgico de una base de datos consistir, pues, en la unin de los esquemas
de todas las relaciones que componen la base de datos, conjuntamente con todas las
restricciones de integridad que afectan a esas relaciones.
Adems, para facilitar la identificacin de las claves forneas en las relaciones que las
incluyan, estas se representarn grficamente junto con el esquema. Las claves forneas
se destacan en la representacin del esquema conceptual de una base de datos
unindolas mediante flechas dirigidas a las claves primarias que representan, tal y como
se muestra en la figura 11.
Departamentos (Num, Nombre, Localidad)

Empleados (NSS, Nombre, NumD, Localidad)


Figura 11: Esquema lgico de la BD, con representacin explcita de las claves forneas

Autor: Juan Ramn Lpez Rodrguez

Grao en Informacin e Documentacin: Bases de datos documentais

Curso 2011 2012

Bibliografa
-

R. Elmasri y S. Navathe. Fundamentos de los Sistemas de Bases de Datos (3


edicin). Addison-Wesley, 2002.

A. Silberschatz, H. F. Korth y S. Sudarshan. Fundamentos de Bases de Datos (4


edicin). McGraw Hill, 2002

Autor: Juan Ramn Lpez Rodrguez

Вам также может понравиться