Está en la página 1de 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

o Aserción: de forma idéntica que la anterior pero puede afectar a varios elementos (por ejemplo a dos relaciones distintas). multiplicar o dividir cuando alguno de los operandos toma el valor nulo. . inexistente. 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. y el operador SI_NULO. que es cierto si el operando es nulo o falso en el caso contrario.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. restar. inaplicable. etc. y en el segundo caso. no válida. Restricciones de rechazo o Verificación: comprueba si el predicado es cierto o falso. en cuyo caso devuelve el valor del segundo. que se aplica a dos operandos y devuelve el valor del primero. salvo que sea nulo. . o Operaciones aritméticas: Se considera nulo el resultado de sumar. o Diferido: al finalizar la transacción. indefinida. Momento en el que una restricción verifica dentro de una transacción: o Inmediato: al finalizar cada sentencia. rechaza la operación. José Antonio Espejo 3 de 21 . LOS VALORES NULOS EN EL MODELO RELACIONAL Concepto de valor nulo: Una señal utilizada para representar información desconocida. . no proporcionada.

se transforman en un tipo de entidad débil por existencia. el atributo múltiple por el cual la regla se ha aplicado. es decir. entonces se procederá de alguna de las dos formas siguientes: 1. José Antonio Espejo 4 de 21 . al dominio del problema) que permita identificar sin ambigüedad a las entidades de este tipo de entidad débil. Este tipo de entidad débil. 2. tendrá como propiedades.Base de datos PRTECAR 1  Eliminación de atributos múltiples Todos los atributos múltiples. Si el atributo múltiple estaba definido sobre un tipo de interrelación. heredando por tanto sus atributos identificadores. creado por la aplicación de esta regla. heredará los identificadores de los tipos de entidad que participaban en este tipo de interrelación. 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. 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. 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. o no. Se añadirá un nuevo atributo (externo. los atributos que pueden tomar más de un valor en el dominio en el cual están definidos.

los subtipos intervendrán de forma parcial (cardinalidad mínima 0) en los tipos de interrelación transferidos desde el supertipo. Si el tipo de interrelación jerárquica es exclusiva. José Antonio Espejo 5 de 21 . PRTECAR 3. se eliminará el atributo compuesto. 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. manteniéndose por supuesto.4. o interviniendo de la misma forma en el tipo de entidad o interrelación. En este proceso de descomposición. los tipos de interrelación en los que intervenga cada uno de los subtipos 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.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. quedando los atributos simples definidos en el mismo dominio.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. Esta regla sólo es conveniente aplicarla cuando las interrelaciones jerárquicas son totales y exclusivas.

Base de datos PRTECAR 3 José Antonio Espejo 6 de 21 .

Si el tipo de interrelación jerárquica es exclusiva. por supuesto. José Antonio Espejo 7 de 21 . el supertipo de entidad participará de forma parcial ( cardinalidad mímica 0) en aquellos tipos de interrelación transferidos desde los subtipos de entidad. manteniéndose. 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.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. los tipos de interrelación en los que intervenga el supertipo 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.

2. con respecto al supertipo de entidad si se traspasa a los subtipos el identificador del supertipo. participarán con cardinalidad mínima 0. como el supertipo de entidad. Si el tipo de interrelación jerárquica es inclusiva.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. En estos tipos de interrelación el supertipo participa con cardinalidades mínima y máxima igual a 1. manteniéndose los tipos de interrelación en los que interviene tanto los subtipos. Si el tipo de interrelación jerárquica es exclusiva. pudiendo considerarse que los subtipos de entidad actúan como tipos de entidad débiles por identificación. los subtipos de entidad participarán: 1. José Antonio Espejo 8 de 21 . En los tipos de interrelación generados por la transformación. y débiles por existencia en caso contrario. participarán con cardinalidad mímica 0 o 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º .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. RTECAR 2  Transformación de tipos de interrelación 1 a 1 2. así cómo la característica de identificador de estos atributos. entonces: .La clave de la tabla es el identificador de los tipos de entidad (es el mismo en ambas) José Antonio Espejo 9 de 21 .1.Si en un tipo de interrelación binaria los dos tipos de entidad participan de forma completa. Si los dos tipos de entidad tienen el mismo identificador: 1º . es decir. ambos tipos de entidad participan con las cardinalidades mínima y máxima igual a 1. manteniendo el número y tipo de atributos.

2º . entonces se procede de alguna de las 2 formas anteriores. pero 1 de ellos es un tipo de entidad débil. José Antonio Espejo 10 de 21 . Si los 2 tipos de entidad tienen la misma clave. cada tipo de entidad se transformará en una tabla y: 1º . Si los tipos de entidad tienen distinto identificador.Base de datos . .Cada tabla tendrá como clave principal el identificador de cada uno de los tipos de entidad de los cuales deriva.Cada tabla tendrá como clave foránea el identificador del otro tipo de entidad con el cual está relacionado.

no generándose ninguna tabla para el tipo de interrelación. 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º. 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 . Se considerará como clave de esta tabla al identificador del tipo de entidad que participa de forma parcial en el tipo de interrelación.El identificador del tipo de entidad que participa totalmente pasa como atributo de la tabla correspondiente a la transferencia del otro tipo de entidad. 2º.Base de datos 2.Se construye una nueva tabla correspondiente al tipo de interrelación formada por los atributos identificadores de los dos tipos de entidad. entonces.Si es un tipo de interrelación binaria alguno de los tipos de entidad participa de forma parcial.2. En este caso este atributo podrá tomar valores nulos para distintas tuplas de esta tabla.

3.Base de datos 2. José Antonio Espejo 12 de 21 . se definirá como clave alterna al identificador del otro tipo de entidad. Estos atributos actuarán como claves foráneas en estas tablas. necesariamente.. 2. 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.. La clave principal de la tabla generada será el identificador de cada uno de los tipos de entidad y.Se construye una nueva tabla correspondiente al tipo de interrelación y cuyos atributos serán los identificadores de los dos tipos de entidad.Si en un tipo de interrelación binaria ambos tipos de entidad participan de forma parcial.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. entonces.

Base de datos RTECAR 3  Transformación de tipos de interrelación 1:N 3. 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.1. o el tipo de entidad que interviene con cardinalidad máxima N participa de forma parcial.Si en un tipo de interrelación binaria 1:N ambos tipos de entidad participan de forma total. entonces. estos atributos pasan a formar parte de la tabla correspondiente al tipo de entidad que participa con cardinalidad máxima N. 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. José Antonio Espejo 13 de 21 . Si el tipo de interrelación tuviera atributos asociados.

cada tipo de entidad se transforma en una tabla y se genera una nueva tabla correspondiente al tipo de interrelación.Base de datos 3. y será necesario definir como clave foránea los atributos identificadores correspondientes a los dos tipos de entidad. La clave principal de esta tabla será el atributo identificador correspondiente al tipo de entidad que interviene con cardinalidad máxima N.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. José Antonio Espejo 14 de 21 . entonces. 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.2.

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. 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.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. 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). 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. José Antonio Espejo 16 de 21 . La clave de esta tabla será la agregación de los atributos identificadores de los tipos de entidad. entonces. Es decir. teniendo en cuenta que no deja de actuar como clave foránea. Cuando algún tipo de entidad participe en el tipo de interrelación con cardinalidad máxima 1. 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.

En el 2º caso se debe aplicar la RTECAR 4.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. o bien ambos participan con cardinalidad máxima 1. representando al objeto del cual forman parte otros objetos de menor categoría (cardinalidad mínima 0/1). Para esta clase de interrelación se pueden dar dos casos: . el cual será la clave de la tabla representando al objeto que forma parte de otros objetos.Se genera una tabla para el tipo de entidad y otra para el tipo de interrelación. El tipo de entidad participa en uno de sus papeles con cardinalidad máxima 1.Se genera una tabla para el tipo de entidad. son relaciones binarias en las que únicamente interviene un tipo de entidad. y en el otro papel con cardinalidad máxima N. . y de nuevo el identificador del tipo de entidad. Es decir. y en esta tabla se añade como clave foránea el identificador del tipo de entidad. El tipo de entidad participa en sus dos papeles con cardinalidad máxima N. formada por los atributos asociados al tipo de interrelación y el identificador del tipo de entidad. (Cuando la cardinalidad mínima es 1) 2º. En el primer caso se procede de alguna de las dos formas siguientes: 1º. para representar que un objeto forma parte de un solo objeto. José Antonio Espejo 17 de 21 .

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. satisface la segunda forma normal y cada atributo no principal de la relación no depende transitivamente de la clave principal.b entonces. está presente una dependencia funcional de la forma R. y sólo si.Base de datos REGLAS DE NORMALIZACIÓN Primera forma normal: Una relación R satisface la primera forma normal (FN1) si. y solo si. y sólo si.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. todos los atributos toman un único valor del dominio subyacente. en la relación R.a José Antonio Espejo 18 de 21 . y sólo si. La forma normal de Bouyce-Codd (FNBC) Una relación R satisface la forman normal de Boyce-Codd (FNBC) si. Tercera forma normal Una relación R satisface la tercera forma normal (FN3) si. Segunda forma normal: Una relación R satisface la sesgunda forma normal (FN2) 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.b  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. 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. se encuentra en FN1. PROPIEDADES DE LAS DEPENDENCIAS FUNCIONALES 1º. y cada determinante funcional es una clave candidata de la relación R.

a  R.(a+c)  R. c y d de una relación R en las que están presentes las dependencias funcionales R.d.b R.z es un atributo no primo de la relación R. siendo c cualquier otro atributo que forme parte de la intención de la relación R.c.aR.a  R.Descomposición Dados los atributos a.Unión Dados los atributos a. b y c de una relación R en la que está presente la dependencia funcional R. donde R. José Antonio Espejo 19 de 21 .c.y como atributo primo (clave primaria) de la relación R1 3º. el proceso de descomposición se realizará de la forma siguiente: 1º. y a los que no forman parte de la clave atributos no primos.a  R.a  R.Pseudotransitiva Dados los atributos a. entonces también estará presente la dependencia funcional R.z.z como atributo no primo de la relación R1 b) El atributo R.b.x. b y c de una relación R. entonces también estará presente la dependencia funcional R.b entonces también estará presente la dependencia funcional R. b.c es subconjunto de R.a  R.Aumento Dados los atributos a y b de una relación R en la que está presente la dependencia funcional R. b y c de una relación R en la que están presentes las dependencias funcionales R.(b+c)  R.(b+c) 5º. R. en la que están presentes las dependencias funcionales R.b y R.a  R. entonces también estará presente la dependencia funcional R.b y R. y se cumple que R.z quedando igual el resto de su intención 2º.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.c DESCOMPOSICIÓN POR APLICACIÓN DE LA FN2 Dada una relación R cuya clave es un agregado de la forma (R.Base de datos 2º.y  R.b y R.(a+c)  R.y) y en esta relación existe una dependencia funcional incompleta de la forma R.d 6º.Se define a R.(b+c).Se construye una nueva relación R1 cuya intención es: a) el atributo R. 3º.a  R.c 4º.De la relación R se elimina R.Transitiva Dados los atributos a.b. entonces también estará presente R.a  R.

[].R. 2º.Se construye una nueva relación R1 cuya intención es: a) El atributo R.n.y y R.y  R.[] está formado por el subconjunto de los agregados de datos que forman parte del determinante funcional R.n como atributo no primo de R1 b) El atributo R.Y.n. Y depende de todos. y por el que existe una dependencia funcional de la forma R. el proceso de descomposición se realizará de la forma siguiente: 1º.x.De la relación R se elimina el atributo R.n es cualquier atributo de la relación R. es decir.m como atributo primo. quedando igual el resto de R 2º. DEPENDENCIA FUNCIONAL TRANSITIVA Sea la relación R(X.z el proceso de descomposición se realizará de la forma siguiente: 1º. donde R. y exclusivamente de todos. R.y con el cual el atributo R.b…. Se representa por X = = > Y. R.y 3º.m  R. donde R.Se define R. R.z que mantenía una dependencia funcional transitiva b) R.R.y como clave de la relación R1.x y atributos no primos R.z mantenía una dependencia funcional completa c) La clave de R1 será el atributo R1. los atributos que forman X.n 3º.z posiblemente formandos por un agregado de datos de la forma R.[]  R.[] ≡ {R. 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.j} y en esta relación existen dependencias funcionales diferentes a dependencias completas de la forma R.a.y y R.En la relación R se define R.Base de datos DESCOMPOSICIÓN POR APLICACIÓN DE LA FORMA NORMAL 3 Dada la relación R de clave R.m subconjunto R.y….z con las siguientes dependencias funcionales: Rx  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.m pertenece R[].De la relación R se elimina el atributo que mantiene una dependencia funcional transitiva con la clave de la relación.Se construye una nueva relación R1 cuya intención es: a) El atributo R.Z) en la que existen las siguientes dependencias funcionales: X---->Y Y---->Z Y--/-->X José Antonio Espejo 20 de 21 .

--->Z José Antonio Espejo 21 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--.