Tema 5 - GBD
Tema 5 - GBD
Tema 5 - GBD
TEMA 5
El modelo relacional
1. INTRODUCCIÓN
En un documento propuesto por Codd, presenta un modelo de datos basado en la teoría de las relaciones,
en donde los datos se estructuran lógicamente en forma de relaciones (tablas), siendo un objetivo funda-
mental del modelo mantener la independencia de la estructura lógica respecto al modo de almacenamien-
to y a otras características de tipo físico. Dicho modelo de datos perseguía una serie de objetivos, muchos
de ellos comunes a otros modelos, los cuales se pueden resumir en los siguientes:
Independencia física. El modo en que se almacenan los datos no debe influir en su manipula-
ción lógica, y por tanto, los usuarios que accedan a esos datos no han de modificar sus pro-
gramas por cambios en el almacenamiento físico.
Independencia lógica. Añadir, eliminar o modificar cualquier elemento de la base de datos no
debe repercutir en los programas y/o usuarios que están accediendo a subconjuntos parciales
de los mismos.
Flexibilidad. En el sentido de poder ofrecer a cada usuario los datos de la forma más adecuada
a la correspondiente aplicación.
Uniformidad. Las estructuras lógicas de los datos presentan un aspecto uniforme (tablas), lo
que facilita la concepción y manipulación de la base de datos por parte de los usuarios.
Sencillez. Las características anteriores, así como unos lenguajes de usuario más o menos sen-
cillos, producen como resultado que el modelo de datos relacional sea fácil de comprender y
de utilizar por parte del usuario final.
Para conseguir los objetivos citados, Codd introduce el concepto de relación como estructura básica
del modelo. Todos los datos de una base de datos se representan en forma de relaciones, cuyo contenido
varía en el tiempo. Una relación en terminología relacional es un conjunto de filas con unas determinadas
características (tuplas).
Con respecto a la parte dinámica del modelo, se propone un conjunto de operadores que se aplican a
las relaciones. Algunos de estos operadores son clásicos de la teoría de conjuntos (una relación se define
matemáticamente como un conjunto), mientras que otros fueron introducidos específicamente para el
modelo relacional. Todos ellos conforman el álgebra relacional.
NOMBRE
Atributo 1 Atributo 2 … Atributo n
XXX XXX … XXX tupla 1
XXX XXX … XXX tupla 2
… … … …
XXX XXX … XXX tupla m
35
TEMA 5: EL MODELO RELACIONAL Gestión de Bases de Datos
DOMINIO
NOMBRES NACIONALIDADES INSTITUCIONES
XXXXXXXXXXXXX Española U.P.M.
… Francesa Politécnico de Milán
Italiana Relational Institute
…
AUTOR
NOMBRE NACIONALIDAD INSTITUCIÓN Atributos
Date, C. J. Norteamericana Relational Institute
Codd, E. F. Norteamericana Relational Institute TUPLAS Cardinalidad 4
Ceri, S. Italiana Politécnico de Milán
Saltor, F. Española U.P.M.
Grado 3
2.1.Dominio y Atributo
Un dominio es un conjunto finito de valores homogéneos y atómicos (V1, V2,… Vn) caracterizado por un
nombre. Se dice que son valores homogéneos porque son todos del mismo tipo, y atómicos porque son
indivisibles en lo que al modelo se refiere, es decir, si se descompusiesen, perderían la semántica a ellos
asociada.
Todo dominio ha de tener un nombre, por el cual nos podemos referir a él, y un tipo de datos. Los
dominios pueden definirse por intensión o por extensión, por ejemplo, el dominio de las edades de las per-
sonas activas de puede definir por intensión como un número entero de longitud 2 comprendido entre 18 y
65, mientras que la definición del dominio de nacionalidades por intensión sería muy pobre semánticamen-
te, ya que permitiría toda combinación de 10 letras aún cuando no constituyesen un nombre válido de na-
cionalidad. Por ello, sería preferible definir este dominio por extensión, con los nombres de las distintas
nacionalidades que admitiera la base de datos.
El dominio contiene todos los posibles valores que puede tomar un atributo, y es estático, es decir,
estos valores no varían en el transcurso del tiempo, ya que si variasen se consideraría un dominio distinto.
El universo del discurso de una base de datos relacional, representado por “U”, está compuesto por
un conjunto finito y no vacío de atributos a1, a2,… an, estructurados en relación. Cada atributo toma sus
valores de un único dominio, y varios atributos pueden tener el mismo dominio. Es muy usual dar el mismo
nombre al atributo y al dominio. En el caso de que sean varios los atributos de una misma tabla, definidos
sobre el mismo dominio, habrá que darles nombres diferentes, ya que una tabla no puede tener dos atribu-
tos con el mismo nombre.
Un dominio compuesto se puede definir como una combinación de dominios simples, a la que se
pueden aplicar ciertas restricciones de integridad, por ejemplo, un usuario puede necesitar manejar, ade-
más de los 3 dominios “día”, “mes” y “año”, un dominio compuesto por dichos 3 dominios, denominado
36
TEMA 5: EL MODELO RELACIONAL Gestión de Bases de Datos
“fecha”, al que se le podrían aplicar las adecuadas restricciones de integridad con el fin de que no aparecie-
ran valores no válidos para la fecha.
Al igual que es posible definir dominios compuestos, existen también atributos compuestos. De esta
forma, el atributo “fecha” tomaría sus valores del dominio compuesto de igual nombre.
Tanto los atributos compuestos como los dominios compuestos pueden ser tratados, si así lo precisa
el usuario, como piezas únicas de información, es decir, como valores atómicos.
2.3.Clases de relación
En una primera división, se diferencias relaciones nominadas y sin nombre:
Relaciones nominadas. A su vez suelen ser persistentes o temporales.
o Persistentes. Son aquellas cuya definición (esquema de relación) permanece en la base
de datos, borrándose solamente mediante una acción explícita del usuario. Pueden ser
de 3 tipos:
Relaciones base. Existen por sí mismas, no en función de otras relaciones, y se
crean especificando explícitamente su esquema de relación. Sus ocurrencias de
relación, al igual que su definición, también se encuentran almacenadas.
Vistas. Son relaciones derivadas que se definen dando un nombre a una expresión
de consulta. Se podría decir que son relaciones virtuales en el sentido de que no
tienen datos almacenados, sino que lo único que se almacena es su definición en
términos de otras relaciones con nombre.
Instantáneas. Son relaciones derivadas, al igual que las anteriores, es decir, se de-
finen en términos de otras relaciones nominadas, pero tienen datos propios alma-
cenados, los cuales son el resultado de ejecutar la consulta especificada. También
se las conoce como Vistas Materializadas. Las instantáneas no se actualizan cuan-
do cambian los datos de las relaciones sobre las que están definidas, pero “se re-
frescan” cada cierto tiempo de acuerdo con lo indicado por el usuario en el mo-
mento de su creación.
o Temporales. Una relación temporal desaparece de la base de datos sin necesidad de una
acción de borrado específica del usuario. Por ejemplo, al finalizar una sesión o una
transacción.
Relaciones sin nombre. Son los resultados de consultas que no se materializan, sino que se en-
tregan al usuario que ha realizado la consulta. Pueden ser tanto resultados intermedios como
finales. En consecuencia, las relaciones no nominadas son siempre temporales.
37
TEMA 5: EL MODELO RELACIONAL Gestión de Bases de Datos
2.4.Claves
Una clave candidata de una relación es un conjunto de atributos que identifican unívoca y mínimamente
cada tupla de la relación. Por la propia definición de relación, siempre hay al menos una clave candidata, ya
que al ser una relación un conjunto, no existen dos tuplas iguales, y por tanto, el conjunto de todos los atri-
butos siempre tiene que identificar unívocamente a cada tupla. Si no se cumpliera la condición de minima-
lidad, se eliminarían aquellos atributos que lo impidiesen.
Una relación puede tener más de una clave candidata, entre las cuales se debe distinguir:
Clave primaria. Es aquella clave candidata que el usuario escogerá por consideraciones ajenas
al modelo relacional para identificar la tupla de la relación. Cuando sólo existe una clave can-
didata, ésta será la clave primaria.
Claves alternativas. Son aquellas claves candidatas que no han sido escogidas como clave pri-
maria.
Clave ajena. Se denomina clave ajena de una relación R2 a un conjunto no vacío de atributos
cuyos valores han de coincidir con los valores de la clave primaria de una relación.
EMPLEADO
DNI NU_SS COD_EMPL NOMBRE APELLIDOS DIRECCIÓN TELÉFONO
Clave Clave Clave
Candidata Candidata Candidata
Clave
Primaria
Grafo relacional:
AUTOR (DNI, Nacionalidad, Institución…)
LIBRO (Código, Título, Idioma, Editorial…) CLAVES AJENAS
ESCRIBE (DNI, Código…)
3. RESTRICCIONES
En el modelo relacional, al igual que en otros modelos, existen restricciones, es decir, estructuras u ocu-
rrencias no permitidas, pudiéndose diferenciar entre restricciones inherentes y restricciones semánticas.
Los datos almacenados en la base han de adaptarse a las estructuras impuestas por el modelo, y han
de cumplir las restricciones de usuario a fin de consistir una ocurrencia válida del esquema.
3.1.Restricciones Inherentes
Los modelos de datos tienen restricciones que impone el mismo modelo, el cual no admite ciertas estructu-
ras. Son las restricciones inherentes que no son definidas por los usuarios, sino obligadas por el propio mo-
delo.
De la definición matemática de relación, se deduce una serie de características propias de una rela-
ción que se han de cumplir obligatoriamente por lo que se trata de restricciones inherentes, y son las si-
guientes:
No hay dos tuplas iguales, de donde se deduce la obligatoriedad de la clave primaria.
El orden de las tuplas no es significativo.
El orden de los atributos no es significativo.
Cada atributo sólo puede tomar un único valor del dominio sobre el que está definido, no ad-
mitiéndose, por tanto, los grupos repetitivos. Se dice que una tabla que cumple esta condición
está normalizada o, también, que está en primera forma normal.
38
TEMA 5: EL MODELO RELACIONAL Gestión de Bases de Datos
AUTOR
NOMBRE NACIONALIDAD INSTITUCIÓN IDIOMAS
Date, C. J. Norteamericana Relational Institute Inglés, Español
Codd, E. J. Norteamericana Relational Institute Inglés
Ceri, F. Italiana Politécnico de Milán Italiano, Inglés
No consistiría exactamente una relación al no restar normalizada, ya que el atributo “idiomas” toma
más de un valor del correspondiente dominio.
Existe otra restricción inherente, que es la Regla de Integridad de Entidad, la cual impone que ningún
atributo que forme parte de la clave primaria de una relación puede tomar un valor nulo.
3.2.Restricciones semánticas
Son facilidades que el modelo ofrece a los usuarios a fin de que éstos puedan reflejar en el esquema lo más
fielmente posible la semántica del mundo real. Pero estas restricciones semánticas del modelo relacional,
al igual que ocurre con cualquier otro modelo, no son muchas veces suficientes para captar toda la semán-
tica del universo del discurso que se está tratando de modelar. Por ello, algunos productos añaden ciertas
facilidades que permiten programarlas.
Clave primaria. Permite declarar un atributo o un conjunto de atributos como clave primaria
de una relación, por lo que sus valores no se podrán repetir ni se admitirán los nulos. La obliga-
toriedad de la clave primaria es una restricción inherente del modelo relacional; sin embargo,
la declaración de un atributo como clave primaria de una relación es una restricción semántica,
que responde a la necesidad del usuario de imponer que los valores del conjunto de atributos
que constituyen la clave primaria no se repitan en la relación, ni tampoco tomen valores nulos.
Unicidad. Mediante la cual se indica que los valores de un conjunto de atributos no pueden
repetirse en una relación. Esta restricción permite la definición de claves alternativas.
Obligatoriedad. De uno o más atributos, con lo que se indica que el conjunto de atributos no
admite valores nulos.
Integridad referencial. Si una relación R2 (relación que referencia) tiene un descriptor que es
una clave primaria de la relación R1 (relación referenciada), todo valor de dicho descriptor de-
be concordar con un valor de la clave primaria referenciada de R1, o bien ser nulo. El descrip-
tor es, por tanto, una clave ajena de la relación R2.
La integridad referencial es una importante restricción semántica que viene impuesta por el mundo
real, siendo el usuario quien la define al describir el esquema relacional. El modelo la reconoce sin necesi-
dad de que se programe ni de que se tenga que escribir ningún procedimiento para obligar su cumplimien-
to.
Además de definir las claves ajenas, hay que determinar las consecuencias que pueden tener ciertas
operaciones, como borrado y modificación, realizadas sobre tuplas de la relación referenciada, pudiéndose
distinguir las siguientes opciones:
39
TEMA 5: EL MODELO RELACIONAL Gestión de Bases de Datos
Existen otras restricciones en las que el usuario puede especificar la respuesta a una determinada
condición. Se les llama “disparadores”. Son procedimentales, es decir, el usuario escribirá el procedimiento
que ha de aplicarse en caso de que se cumpla la condición.
41