You are on page 1of 21

Base de datos

TEMA 4: EL MODELO RELACIONAL

Objetivos que perseguía Codd:

Independencia física: el modo en que se almacenan los datos no influye en su


manipulación lógica.

Independencia lógica: no modifica los programas.

Flexibilidad: poder ofrecer los datos de la forma más adecuada.

Uniformidad: Aspecto uniforme de las estructuras lógicas.

Sencillez: Modelo relacional más fácil de comprender.

Concepto de relación  tabla  conjunto de filas (tuplas)

ESTRUCTURA DEL MODELO RELACIONAL

Tabla: nombre, atributos y tuplas.

Dominio y atributo: Un dominio D es un conjunto finito de valores homogéneos y


atómicos, caracterizado por un nombre; decimos valores homogéneos porque son todos
del mismo tipo, y atómicos porque son indivisibles.

Los dominios pueden definirse por intención o por extensión:

Intención: por ejemplo un entero de longitud dos comprendido entre 18 y 65.


Extensión: por ejemplo por nacionalidades, toda combinación de 10 letras.

Dominio compuesto: una combinación de dominios simples a la que se pueden aplicar


ciertas restricciones de integridad.

DEFINICIÓN FORMAL DE RELACIÓN

Nombre

Cabecera de relación: conjunto de n pares atributo-dominio subyacente. {(A:D)}

Cuerpo de la relación: conjunto de m tuplas, donde cada tupla es un conjunto de n


pares atributo valor. {(A:V)}

Esquema de la relación: estará formado por el nombre R, si existe, y la cabecera.


R({A:D}n)

Estado de la relación: es simplemente la relación.

José Antonio Espejo 1 de 21


Base de datos

CLASES DE RELACIÓN

- Persistentes: aquellas cuya definición permanece en la base de datos, sólo se


puede borrar mediante una acción explícita.
o Base: Existen por si mismas.
o Vistas: Son consultas y no existen por si mismas, relaciones virtuales.
o Instantáneas: parecidas a las vistas, pero tienen datos propios
almacenados, son las consultas guardadas.
- Temporales: Desaparecen de la base de datos sin necesidad de la acción de
borrado.

CLAVES

- Clave candidata: Conjunto de atributos que identifican unívocamente y


mínimamente cada tupla de la relación. Siempre hay al menos una.
o Clave primaria: clave candidata que el usuario escoge.
o Claves alternativas: las que no han sido escogidas como clave primaria.
- Clave externa de una relación R2: conjunto no vació de atributos cuyos
valores han de coincidir con los valores de la clave candidata de una relación
R1.

RESTRICCIONES

- Restricciones inherentes:
o No haya dos tuplas iguales
o El orden de las tuplas no es significativo
o El orden de los atributos no es significativo
o Cada atributo sólo puede tomar un único valor del dominio
- Restricciones semánticas
o Clave primaria: Permite declarar un atributo o un conjunto de atributos
como clave primaria de una relación, sus valores no se podrán repetir ni
se admitirán nulos.
o Unicidad: se indica que los valores de un conjunto de atributos no
pueden repetirse en una relación.
o Obligatoriedad: El conjunto de atributos no admite valores nulos.
o Integridad referencial: Si una relación R2 tiene un atributo que es una
clave candidata de la relación R1, todo valor de dicho atributo debe
concordar con un valor de la clave candidata referenciada de R1 o bien
ser nulo.

- Consecuencias de ciertas operaciones (borrado y modificación)


o Operación restringida: el borrado de tuplas de la relación que contiene
la clave referenciada sólo se permite si no existen tuplas con este valor
en la relación que contiene la clave externa.
o Operación con transmisión en cascada: el borrado de tuplas de la
relación que contiene la clave candidata referenciada lleva consigo el
borrado en cascada de las tuplas de la relación que contiene la clave
externa.
o Operación con puesta a nulos: lleva consigo poner a nulos los valores
de las claves externas de la relación que referencia.

José Antonio Espejo 2 de 21


Base de datos

o Operación con puesta a valor por defecto: lleva consigo poner el valor
por defecto a la clave externa de la relación que referencia.

- Restricciones de rechazo
o Verificación: comprueba si el predicado es cierto o falso, y en el
segundo caso, rechaza la operación.
o Aserción: de forma idéntica que la anterior pero puede afectar a varios
elementos (por ejemplo a dos relaciones distintas).

- Momento en el que una restricción verifica dentro de una transacción:


o Inmediato: al finalizar cada sentencia.
o Diferido: al finalizar la transacción.

LOS VALORES NULOS EN EL MODELO RELACIONAL

Concepto de valor nulo:

Una señal utilizada para representar información desconocida, inaplicable, inexistente,


no válida, no proporcionada, indefinida, etc.

- El tratamiento de valores nulos en algún operando utilizado en las operaciones


exige definir:
o Operaciones de comparación: Se introducen los operadores
ES_NULO, que es cierto si el operando es nulo o falso en el caso
contrario, y el operador SI_NULO, que se aplica a dos operandos y
devuelve el valor del primero, salvo que sea nulo, en cuyo caso devuelve
el valor del segundo.
o Operaciones aritméticas: Se considera nulo el resultado de sumar,
restar, multiplicar o dividir cuando alguno de los operandos toma el valor
nulo.

José Antonio Espejo 3 de 21


Base de datos

PRTECAR 1  Eliminación de atributos múltiples

Todos los atributos múltiples, es decir, los atributos que pueden tomar más de un valor
en el dominio en el cual están definidos, se transforman en un tipo de entidad débil por
existencia, el cual mantendrá una relación 1:N con el tipo de entidad sobre el cual estaba
definido o los tipos de entidad que mantenían un tipo de interrelación si el atributo
múltiple estaba definido sobre el tipo de interrelación. Este tipo de entidad débil, creado
por la aplicación de esta regla, tendrá como propiedades, el atributo múltiple por el cual
la regla se ha aplicado. Además se deberá tener en cuenta que si el atributo del tipo de
entidad débil creado no pudiera identificar sin ambigüedad a las entidades de este tipo,
entonces se procederá de alguna de las dos formas siguientes:

1. El tipo de entidad débil creado se considera que es débil por identificación con
respecto al tipo de entidad con el que mantiene relación, heredando por tanto sus
atributos identificadores. Si el atributo múltiple estaba definido sobre un tipo de
interrelación, heredará los identificadores de los tipos de entidad que
participaban en este tipo de interrelación.
2. Se añadirá un nuevo atributo (externo, o no, al dominio del problema) que
permita identificar sin ambigüedad a las entidades de este tipo de entidad débil.

José Antonio Espejo 4 de 21


Base de datos

PRTECAR 2  Eliminación de atributos compuestos

Todos los atributos compuestos asociados con los tipos de entidad y los tipos de
interrelación deben ser descompuestos en los atributos simples que formen parte o
intervengan en los atributos compuestos correspondientes. En este proceso de
descomposición, se eliminará el atributo compuesto, quedando los atributos simples
definidos en el mismo dominio, o interviniendo de la misma forma en el tipo de entidad
o interrelación.

PRTECAR 3,4,5  Eliminación de las relaciones jerárquicas

PRTECAR 3  Eliminación del supertipo de entidad

En un tipo de interrelación jerárquica se desetimará el supertipo de entidad,


transfiriendo todos los atributos del supertipo a cada uno de los subtipos y cada uno de
los tipos de interrelación que mantuviera el supertipo serán considerados para cada 1 de
los subtipos, manteniéndose por supuesto, los tipos de interrelación en los que
intervenga cada uno de los subtipos de entidad. Si el tipo de interrelación jerárquica es
exclusiva, los subtipos intervendrán de forma parcial (cardinalidad mínima 0) en los
tipos de interrelación transferidos desde el supertipo.
Esta regla sólo es conveniente aplicarla cuando las interrelaciones jerárquicas son
totales y exclusivas, y cuando el número de atributos transferidos sea pequeño y no
existan muchos tipos de interrelación en los que participa el supertipo de entidad.

José Antonio Espejo 5 de 21


Base de datos

PRTECAR 3

José Antonio Espejo 6 de 21


Base de datos

PRTECAR 4  Eliminación de los subtipos de entidad

En un tipo de interrelación jerárquica se desestimarán los subtipos de entidad,


transfiriéndose todos los atributos de los subtipos al supertipo y cada uno de los tipos de
interrelación que mantuvieran los subtipos de entidad serán considerados para el
supertipo, manteniéndose, por supuesto, los tipos de interrelación en los que intervenga
el supertipo de entidad. Si el tipo de interrelación jerárquica es exclusiva, el supertipo de
entidad participará de forma parcial ( cardinalidad mímica 0) en aquellos tipos de
interrelación transferidos desde los subtipos de entidad. En caso contrario (inclusiva)
participará con las cardinalidades que participaba cada subtipo de entidad en los tipos de
interrelación transferidos por aplicación de esta regla.

José Antonio Espejo 7 de 21


Base de datos

PRTECAR 5  Eliminación de la jerarquía

El tipo de interrelación jerárquica se transformará en tantos tipos de interrelación 1 a 1


como subtipos de entidad estén presentes, manteniéndose los tipos de interrelación en
los que interviene tanto los subtipos, como el supertipo de entidad. En los tipos de
interrelación generados por la transformación, los subtipos de entidad participarán:
1. Si el tipo de interrelación jerárquica es exclusiva, participarán con
cardinalidad mínima 0.
2. Si el tipo de interrelación jerárquica es inclusiva, participarán con
cardinalidad mímica 0 o 1.

En estos tipos de interrelación el supertipo participa con cardinalidades mínima y


máxima igual a 1, pudiendo considerarse que los subtipos de entidad actúan como tipos
de entidad débiles por identificación, con respecto al supertipo de entidad si se traspasa
a los subtipos el identificador del supertipo, y débiles por existencia en caso contrario.

José Antonio Espejo 8 de 21


Base de datos

RTECAR 1  Transformación de tipos de entidad

Todos los tipos de entidad presentes en el esquema conceptual se transformarán en


tablas o relaciones en el esquema relacional, manteniendo el número y tipo de atributos,
así cómo la característica de identificador de estos atributos.

RTECAR 2  Transformación de tipos de interrelación 1 a 1

2.1- Si en un tipo de interrelación binaria los dos tipos de entidad participan de forma
completa, es decir, ambos tipos de entidad participan con las cardinalidades mínima y
máxima igual a 1, entonces:

- Si los dos tipos de entidad tienen el mismo identificador:


1º - Los dos tipos de entidad se transformarán en una única tabla formada
por la agregación de los atributos de los dos tipos de entidad
2º - La clave de la tabla es el identificador de los tipos de entidad (es el
mismo en ambas)

José Antonio Espejo 9 de 21


Base de datos

- Si los tipos de entidad tienen distinto identificador, cada tipo de entidad se


transformará en una tabla y:
1º - Cada tabla tendrá como clave principal el identificador de cada uno
de los tipos de entidad de los cuales deriva.
2º - Cada tabla tendrá como clave foránea el identificador del otro tipo de
entidad con el cual está relacionado.

- Si los 2 tipos de entidad tienen la misma clave, pero 1 de ellos es un tipo de


entidad débil, entonces se procede de alguna de las 2 formas anteriores.

José Antonio Espejo 10 de 21


Base de datos

2.2- Si es un tipo de interrelación binaria alguno de los tipos de entidad participa de


forma parcial, entonces, cada tipo de entidad se transforma en una tabla por aplicación
de la RTECAR 1 y se procede de alguna de las 2 formas siguientes:

1º- El identificador del tipo de entidad que participa totalmente pasa como
atributo de la tabla correspondiente a la transferencia del otro tipo de entidad. En este
caso este atributo podrá tomar valores nulos para distintas tuplas de esta tabla, no
generándose ninguna tabla para el tipo de interrelación.

2º- Se construye una nueva tabla correspondiente al tipo de interrelación


formada por los atributos identificadores de los dos tipos de entidad. Se considerará
como clave de esta tabla al identificador del tipo de entidad que participa de forma
parcial en el tipo de interrelación. Los atributos de esta tabla mantendrán referencias con
las claves de las tablas correspondientes a la transferencia de los tipos de entidad.

José Antonio Espejo 11 de 21


Base de datos

2.3- Si en un tipo de interrelación binaria ambos tipos de entidad participan de forma


parcial, entonces, por aplicación de la regla RTECAR 1 cada uno de los tipos de entidad
se transformarán en una tabla y se procede de alguna de las 2 formas siguientes:

1.- Los identificadores de cada uno de los tipos de entidad pasan a formar parte
como atributo de las tablas correspondientes al otro tipo de entidad. Estos atributos
actuarán como claves foráneas en estas tablas.

2.- Se construye una nueva tabla correspondiente al tipo de interrelación y cuyos


atributos serán los identificadores de los dos tipos de entidad. La clave principal de la
tabla generada será el identificador de cada uno de los tipos de entidad y,
necesariamente, se definirá como clave alterna al identificador del otro tipo de entidad.

José Antonio Espejo 12 de 21


Base de datos

RTECAR 3  Transformación de tipos de interrelación 1:N

3.1- Si en un tipo de interrelación binaria 1:N ambos tipos de entidad participan de


forma total, o el tipo de entidad que interviene con cardinalidad máxima N participa de
forma parcial, entonces, cada tipo de entidad se transformará en una tabla y el
identificador del tipo de entidad que participa con cardinalidad máxima 1 pasa a formar
parte de la tabla correspondiente al tipo de entidad que participa con cardinalidad
máxima N. Este atributo será definido como clave foránea de esta tabla manteniendo
una referencia con la tabla correspondiente al tipo de entidad que participa con
cardinalidad máxima 1. Si el tipo de interrelación tuviera atributos asociados, estos
atributos pasan a formar parte de la tabla correspondiente al tipo de entidad que
participa con cardinalidad máxima N.

José Antonio Espejo 13 de 21


Base de datos

3.2- Si en un tipo de interrelación binaria 1:N ambos tipos de entidad participan de


forma parcial, o el tipo de entidad que interviene con cardinalidad máxima 1 participa
de forma parcial, entonces, cada tipo de entidad se transforma en una tabla y se genera
una nueva tabla correspondiente al tipo de interrelación. Esta tabla estará formada por
los identificadores de los tipos de entidad que intervienen en el tipo de interrelación y
por todos los atributos asociados al tipo de interrelación. La clave principal de esta tabla
será el atributo identificador correspondiente al tipo de entidad que interviene con
cardinalidad máxima N, y será necesario definir como clave foránea los atributos
identificadores correspondientes a los dos tipos de entidad.

José Antonio Espejo 14 de 21


Base de datos

RTECAR 4  Transformación de tipos de interrelación N:N

En un tipo de interrelación binaria N:N cada tipo de entidad se transforma en una tabla y
se genera una nueva tabla para representar el tipo de interrelación. Esta tabla estará
formada por los identificadores de los tipos de entidad que intervienen en el tipo de
interrelación y por todos los atributos asociados al tipo de interrelación. La clave
principal de esta tabla será la agregación de los atributos identificadores
correspondientes a los tipos de entidad que intervienen en el tipo de interrelación.

José Antonio Espejo 15 de 21


Base de datos

TRANSFORMACIÓN DE TIPOS DE INTERRELACIÓN N-ARIAS

En el proceso de transformación de las relaciones en las que intervienen más de 2 tipos


de entidad se debe aplicar la misma regla que la aplicada para los tipos de interrelación
binarias N:N (RTECAR 4). Es decir, cada tipo de entidad se transforma en una tabla y
el tipo de interrelación también cuyos atributos son los atributos identificadores de los
tipos de entidad participantes en el tipo de interrelación y los atributos asociados al tipo
de interrelación. La clave de esta tabla será la agregación de los atributos identificadores
de los tipos de entidad.
Cuando algún tipo de entidad participe en el tipo de interrelación con cardinalidad
máxima 1, entonces, el identificador de este tipo de entidad no pasa a formar parte de la
clave de la tabla que se deriva del tipo de interrelación. Es como un atributo más como
hay que considerar la participación de este tipo de entidad en el tipo de interrelación,
teniendo en cuenta que no deja de actuar como clave foránea.

José Antonio Espejo 16 de 21


Base de datos

TRANSFORMACIÓN DE TIPOS DE INTERRELACIÓN REFLEXIVAS

Los tipos de interrelación reflexivas representan aquellas relaciones que se establecen


entre un mismo tipo de entidad consigo mismo. Es decir, son relaciones binarias en las
que únicamente interviene un tipo de entidad.

Para esta clase de interrelación se pueden dar dos casos:

- El tipo de entidad participa en uno de sus papeles con cardinalidad máxima


1, y en el otro papel con cardinalidad máxima N, o bien ambos participan
con cardinalidad máxima 1.
- El tipo de entidad participa en sus dos papeles con cardinalidad máxima N.

En el 2º caso se debe aplicar la RTECAR 4.


En el primer caso se procede de alguna de las dos formas siguientes:

1º- Se genera una tabla para el tipo de entidad, y en esta tabla se añade como
clave foránea el identificador del tipo de entidad, para representar que un objeto forma
parte de un solo objeto. (Cuando la cardinalidad mínima es 1)

2º- Se genera una tabla para el tipo de entidad y otra para el tipo de interrelación,
formada por los atributos asociados al tipo de interrelación y el identificador del tipo de
entidad, el cual será la clave de la tabla representando al objeto que forma parte de otros
objetos, y de nuevo el identificador del tipo de entidad, representando al objeto del cual
forman parte otros objetos de menor categoría (cardinalidad mínima 0/1).

José Antonio Espejo 17 de 21


Base de datos

REGLAS DE NORMALIZACIÓN

Primera forma normal:

Una relación R satisface la primera forma normal (FN1) si, y solo si, todos los atributos
toman un único valor del dominio subyacente.

Segunda forma normal:

Una relación R satisface la sesgunda forma normal (FN2) si, y sólo si, satisface la
primera forma normal y cada atributo de la relación depende funcionalmente de forma
completa de la clave primaria de esa relación.

Tercera forma normal

Una relación R satisface la tercera forma normal (FN3) si, y sólo si, satisface la segunda
forma normal y cada atributo no principal de la relación no depende transitivamente de
la clave principal.

La forma normal de Bouyce-Codd (FNBC)

Una relación R satisface la forman normal de Boyce-Codd (FNBC) si, y sólo si, se
encuentra en FN1, y cada determinante funcional es una clave candidata de la relación
R.

CONCEPTO DE DETERMINANTE FUNCIONAL

Se denomina determinante funcional a uno o a un conjunto de atributos de una relación


R del cual dependen funcionalmente de forma completa algún otro atributo de la misma
relación, por lo tanto la FNBC se puede definir:

Una relación R satisface la FNBC si, y sólo si, se encuentra en FN1 y cada determinante
funcional es una clave candidata de la relación.

CLAVES TRASLAPADAS

Dos claves candidatas se dicen que están traslapadas si cada una de ellas está formada
por dos o más atributos y alguno de ellos se común a ambas.

PROPIEDADES DE LAS DEPENDENCIAS FUNCIONALES

1º- Reflexiva

Dados los atributos a y b de una relación R para los que se cumplen que R.a es un
subconjunto de R.b entonces, en la relación R, está presente una dependencia funcional
de la forma R.b  R.a

José Antonio Espejo 18 de 21


Base de datos

2º- Aumento

Dados los atributos a y b de una relación R en la que está presente la dependencia funcional
R.aR.b, entonces también estará presente R.(a+c)  R.(b+c), siendo c cualquier otro atributo
que forme parte de la intención de la relación R.

3º- Transitiva

Dados los atributos a, b y c de una relación R en la que están presentes las dependencias
funcionales R.a  R.b y R.b R.c, entonces también estará presente la dependencia funcional
R.a  R.c

4º- Unión

Dados los atributos a, b y c de una relación R, en la que están presentes las dependencias
funcionales R.a  R.b y R.a  R.c, entonces también estará presente la dependencia funcional
R.a  R.(b+c)

5º- Pseudotransitiva

Dados los atributos a, b, c y d de una relación R en las que están presentes las dependencias
funcionales R.a  R.b y R.(b+c)  R.d, entonces también estará presente la dependencia
funcional R.(a+c)  R.d

6º- Descomposición

Dados los atributos a, b y c de una relación R en la que está presente la dependencia funcional
R.a  R.b, y se cumple que R.c es subconjunto de R.b entonces también estará presente la
dependencia funcional R.a  R.c

DESCOMPOSICIÓN POR APLICACIÓN DE LA FN2

Dada una relación R cuya clave es un agregado de la forma (R.x, R.y) y en esta relación existe
una dependencia funcional incompleta de la forma R.y  R.z, donde R.z es un atributo no
primo de la relación R, el proceso de descomposición se realizará de la forma siguiente:

1º- De la relación R se elimina R.z quedando igual el resto de su intención

2º- Se construye una nueva relación R1 cuya intención es:

a) el atributo R.z como atributo no primo de la relación R1


b) El atributo R.y como atributo primo (clave primaria) de la relación R1

3º- Se define a R.y como clave foránea de la clave de la relación R1

DEFINICIÓN DE ATRIBUTO PRIMO

A los atributos que forman parte de la clave de una relación se les denomina atributos primos, y
a los que no forman parte de la clave atributos no primos.

José Antonio Espejo 19 de 21


Base de datos

DESCOMPOSICIÓN POR APLICACIÓN DE LA FORMA NORMAL 3

Dada la relación R de clave R.x y atributos no primos R.y y R.z con las siguientes dependencias
funcionales: Rx  R.y y R.y  R.z el proceso de descomposición se realizará de la forma
siguiente:

1º- De la relación R se elimina el atributo que mantiene una dependencia funcional


transitiva con la clave de la relación.

2º- Se construye una nueva relación R1 cuya intención es:


a) El atributo R.z que mantenía una dependencia funcional transitiva
b) R.y con el cual el atributo R.z mantenía una dependencia funcional
completa
c) La clave de R1 será el atributo R1.y

3º- En la relación R se define R.y como clave de la relación R1.

DESCOMPOSICIÓN POR LA APLICACIÓN DE FNBC

Dada una relación R en la cual están presentes uno o más determinantes funcionales R.x,
R.y….R.z posiblemente formandos por un agregado de datos de la forma R.[] ≡ {R.a,
R.b….R.j} y en esta relación existen dependencias funcionales diferentes a dependencias
completas de la forma R.[]  R.n, donde R.n es cualquier atributo de la relación R, el proceso
de descomposición se realizará de la forma siguiente:

1º- De la relación R se elimina el atributo R.n, quedando igual el resto de R

2º- Se construye una nueva relación R1 cuya intención es:

a) El atributo R.n como atributo no primo de R1


b) El atributo R.m como atributo primo, donde R.m pertenece R[], R.m
subconjunto R.[] está formado por el subconjunto de los agregados de datos
que forman parte del determinante funcional R.[], y por el que existe una
dependencia funcional de la forma R.m  R.n

3º- Se define R.m como clave foránea de la clave de la relación R1

DEPENDENCIA FUNCIONAL PLENA O COMPLETA

Se dice que Y tiene dependencia funcional completa o plena de X si dependen funcionalmente


de X pero no depende de ningún otro subconjunto del mismo, es decir, Y depende de todos, y
exclusivamente de todos, los atributos que forman X. Se representa por X = = > Y.

DEPENDENCIA FUNCIONAL TRANSITIVA

Sea la relación R(X,Y,Z) en la que existen las siguientes dependencias funcionales:

X---->Y
Y---->Z
Y--/-->X

José Antonio Espejo 20 de 21


Base de datos

Se dice entonces que Z tiene una dependencia transitiva respecto de X a través de Y, lo que se
representa por:

X--- --->Z

José Antonio Espejo 21 de 21

You might also like