Sei sulla pagina 1di 36

Bases de datos

1 DAI
_________________________________________________________________________________________________________

UNIDAD DIDACTICA 2 B
MODELO LGICO O RELACIONAL
Transformacin y normalizacin.
2B.1.-CODD Y LAS BASES DE DATOS RELACIONALES...............................................................3
1.- Regla de informacin................................................................................................................. 3
2.- Regla de acceso garantizado.................................................................................................. 3
3.- Tratamiento sistemtico de valores nulos..........................................................................3
4.- Catlogo en lnea dinmico basado en el modelo relacional.............................................3
5.- Regla de sublenguaje completo de datos.............................................................................3
6.- Regla de actualizacin de vista.............................................................................................. 3
7.- Insercin, actualizacin y supresin de alto nivel.............................................................3
8.- Independencia fsica de los datos.........................................................................................3
9.- Independencia lgica de los datos........................................................................................4
10.- Independencia de la integridad........................................................................................... 4
11.- Independencia de la distribucin.........................................................................................4
12.- Regla de no subversin........................................................................................................... 4
2B.2.- TERMINOLOGA RELACIONAL.............................................................................................. 4
2B.3.- ESTRUCTURA RELACIONAL DE LOS DATOS.....................................................................4
2B.4.- ESTRUCTURA DE LAS TABLAS RELACIONALES..............................................................5
Tupla..................................................................................................................................................... 5
Atributo............................................................................................................................................... 5
Dominio................................................................................................................................................ 5
Valor nulo............................................................................................................................................. 5
Claves................................................................................................................................................... 5
2B.5.- CARACTERSTICAS DE LAS RELACIONES:.......................................................................6
Reglas de integridad......................................................................................................................... 6
Definicin de las relaciones............................................................................................................ 6
2B.6.- EL MODELO RELACIONAL........................................................................................................ 6
2B.7.- RESTRICCIONES EN EL MODELO RELACIONAL..............................................................7
La restriccin de Clave Primaria (PRIMARY KEY).....................................................................7
La restriccin de Unicidad (UNIQUE).........................................................................................7
La restriccin de Obligatoriedad (NOT NULL).........................................................................7
La restriccin de Clave Ajena (FOREIGN KEY).........................................................................7
La restriccin de Actualizacin de datos....................................................................................8
La restriccin de Verificacin (CHECK).......................................................................................9
La restriccin de Asercin (ASSERTION).................................................................................9
Disparadores (TRIGGER)................................................................................................................ 9
2B.8.- NOTACIN EN EL MODELO RELACIONAL.......................................................................10
2B.9.- REGLAS DE TRANSFORMACIN DE UN MODELO E/R A UN MODELO
RELACIONAL........................................................................................................................................... 10
2B.10.- DEPENDENCIAS FUNCIONALES........................................................................................15
Dependencias completa y parcial................................................................................................. 15
Axiomas de Armstron..................................................................................................................... 16
2B.11.- LGEBRA RELACIONAL.......................................................................................................... 18
2B.9.2.1.- Propiedades de los operadores de conjuntos.........................................................21
2B.12.- CLCULO RELACIONAL......................................................................................................... 25
____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 1 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

2B.13.- NORMALIZACIN.................................................................................................................. 28
2B.14.- PRIMERA FORMA NORMAL (1FN)......................................................................................29
2B.15.- SEGUNDA FORMA NORMAL (2FN)....................................................................................31
2B.16.- DEPENDENCIA FUNCIONAL TRANSITIVA...................................................................32
2B.17.- DESCOMPOSICIN DE RELACIONES..............................................................................34
2B.18.- FORMA NORMAL DE BOYCE CODD.................................................................................35
2B.19.- DEPENDENCIAS MULTIVALUADAS.................................................................................35
2B.20.- DEPENDENCIAS DE REUNIN..........................................................................................36

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 2 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

2B.1.-CODD Y LAS BASES DE DATOS RELACIONALES


Codd, en un artculo publicado en la revista Computerworld en 1985 estableci las doce
reglas que debe cumplir cualquier base de datos para ser considerada relacional:
1.- Regla de informacin
Toda informacin de una base de datos relacional est representada explcitamente en
el mbito lgico y exactamente de un modo (mediante tablas).
2.- Regla de acceso garantizado
Se garantiza que todos y cada uno de los datos (valor atmico) de una base relacional
son lgicamente accesibles a travs de una combinacin de nombre de tabla, valor de clave
primaria y nombre de columna
3.- Tratamiento sistemtico de valores nulos
Los valores nulos (distinto de la cadena de caracteres vaca o de una cadena de
caracteres blancos, y distinta de cero o de cualquier otro nmero) se soportan en los
Sistemas Gestores de Bases de Datos completamente Relacionales para representar la
falta de informacin inaplicable, de un modo sistemtico e independiente de los datos.
4.- Catlogo en lnea dinmico basado en el modelo relacional
La descripcin de la base de datos se representa en el mbito lgico de la misma forma
que los datos ordinarios, de modo que los usuarios autorizados pueden utilizar el mismo
lenguaje relacional que aplican a los datos regulares.
5.- Regla de sublenguaje completo de datos
Un sistema relacional puede soportar varios lenguajes y varios modos de uso terminal
(por ejemplo, el modo de rellenar con blancos). Sin embargo, debe haber al menos un
lenguaje cuyas sentencias se puedan expresar mediante alguna sintaxis bien definida, como
cadenas de caracteres, y que ofrezca completamente todos los puntos siguientes:
Definicin de datos
Definicin de vista
Manipulacin de datos (interactiva y por programa)
Restricciones de integridad
Autorizacin
Fronteras de transacciones (comienzo, confirmacin y vuelta atrs)
6.- Regla de actualizacin de vista
Todas las vistas que sean tericamente actualizables son tambin actualizables por el
sistema
7.- Insercin, actualizacin y supresin de alto nivel
La capacidad de manejar una relacin de base de datos o una relacin derivada como un
nico operando se aplica no solamente a la recuperacin de datos, sino tambin a la
insercin, actualizacin y supresin de los datos
8.- Independencia fsica de los datos

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 3 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

Los programas y las actividades terminales permanecen lgicamente inalteradas


cualquiera que sean los cambios efectuados, tanto en la representacin del almacenamiento,
como en los mtodos de acceso.
9.- Independencia lgica de los datos
Los programas y las actividades permanecen lgicamente inalteradas cuando se
efecten sobre las tablas de base cambios preservadores de la informacin de cualquier
tipo que tericamente permita alteraciones.
10.- Independencia de la integridad
Las restricciones de integridad especficas de una base de datos relacional particular
deben poder ser definidas mediante el sublenguaje de datos relacional y almacenarse en el
catlogo, no en los programas.
11.- Independencia de la distribucin.
Un SGBD es independiente de la distribucin.
12.- Regla de no subversin.
Si un sistema relacional tiene un lenguaje de bajo nivel (un slo registro cada vez), este
bajo nivel no puede ser utilizado para subvertir o suprimir las reglas de integridad y las
restricciones expresadas en el lenguaje relacional de nivel superior (mltiples registros a la
vez)
2B.2.- TERMINOLOGA RELACIONAL
Modelo de datos relacional.- Aquel modelo donde los datos se representan en forma
de tabla.
Entidades.- Una entidad es un objeto concreto o abstracto que va a ser representado
en un sistema de base de datos. Mediante el modelo Entidad - Relacin se definen las
entidades que forman el mundo de la situacin real que se quiere implementar en una base
de datos. Las entidades pueden ser de dos tipos:
* Entidad fuerte o propia: Aquellas cuyas propiedades que la identifican slo hacen
referencia a la propia entidad.
* Entidad dbil o regular: Aquella que slo tiene sentido gracias a las propiedades que
identifican a otras entidades (fuertes o, a su vez, dbiles).
Atributos: Se definen como tal cada una de las caractersticas de una entidad. Coincide
con el concepto de campo en la nomenclatura tradicional de ficheros.
2B.3.- ESTRUCTURA RELACIONAL DE LOS DATOS
Tablas: Es la forma de estructurar los datos, organizados mediante filas (tuplas) y
columnas (atributos). Para que una tabla forme parte de una estructura relacional (Tabla
Relacional o Relacin), debe cumplir los siguientes requisitos:
Debe tener un slo tipo de fila, cuyo formato queda definido por el esquema de la tabla
o la relacin. Es decir, todas las filas de la tabla han de tener las mismas columnas
Cada columna debe ser nica y no pueden existir columnas duplicadas
Cada columna debe estar identificada por un nombre especfico
El valor de una columna para una fila determinada debe ser nico. No pueden existir
mltiples valores en una posicin de una columna.
____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 4 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

Los valores de una columna deben pertenecer al dominio que representa, y es posible
que un mismo dominio se utilice para definir los valores de varias columnas.
Una tabla que cumpla las condiciones anteriores tiene asociadas las siguientes
propiedades:
Las filas pueden estar en cualquier orden
A una fila se la referencia mediante todos los valores que la forman
Las columnas pueden estar en cualquier orden
A una columna se la referencia mediante el nombre que la identifica.
Una tabla que cumpla estas condiciones y tenga asociadas estas propiedades se llama
Tabla Relacional o Relacin.
El concepto Relacin se utiliza principalmente para indicar que en la tabla relacional se
mantiene la asociacin con otras tablas. Representa por tanto una entidad asociativa
El concepto Tabla Relacional se utiliza mas bien para expresar que la tabla
representa, por s misma, un objeto o entidad propia.
2B.4.- ESTRUCTURA DE LAS TABLAS RELACIONALES
Tupla
Se denomina as a cada fila de una tabla relacional o relacin
Atributo
Se denomina as a cada columna de una tabla relacional o relacin
Dominio
Es el conjunto de todos los valores que puede tomar un atributo. Puede ser continuo
(admitiendo todos los valores comprendidos entre un mnimo y un mximo) o discreto
(permitiendo nicamente determinados valores entre un mnimo y un mximo).

Domino Simple: Es un conjunto finito de valores homogneos y atmicos


caracterizados por un nombre. Por homogneo se entiende que se trata de valores
de un mismo tipo, y por atmicos valores indivisibles que si se descompusieran
pierden su significado. No se puede introducir ningn valor que no est en el
dominio.
Dominio Compuesto: estn formados por combinacin de dominios simples. El
ejemplo ms claro sera la fecha, que se compone del domino DIA (1-31), y MES (112), con lo que su dominio general sera la combinacin de ambos (1-1,1-2...30-12,3112). Cualquier otra combinacin fuera de este dominio no vale.

Valor nulo
Es el valor asignado a un atributo en una tupla cuando el atributo es inaplicable o bien el
valor es desconocido.
Claves
Clave aspirante o candidata: Es el conjunto mnimo de atributos que identifica de
forma nica a cada registro de la relacin. Puede estar formada por una combinacin de
atributos si stos, de forma individual, no identifican completamente de forma nica al
registro. Para que una clave cumpla con la labor de identificacin y sea cmoda y manejable
debe cumplir los siguientes requisitos
____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 5 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

Debe ser minimal, en el sentido de que todos los atributos que la forman sean
necesarios para la funcin de identificacin.
Los atributos que la forman debern tener siempre un valor para cada tupla (es decir,
no podrn tomar valores nulos) y, adems, este valor deber ser nico para cada tupla.
Clave principal o primaria: Es aquella clave candidata que se escoge para identificar las
tuplas de la relacin.
Clave alternativa: Son aquellas claves candidatas que no son la clave principal
Clave externa o ajena: Es el atributo de unin que permite relacionar una tabla con
otra. Es, pues, el conjunto de atributos en una relacin que constituye la clave en alguna
otra relacin.
2B.5.- CARACTERSTICAS DE LAS RELACIONES:
Cardinalidad: Es el nmero de filas de una relacin
Grado: Es el nmero de columnas de una relacin
Restriccin: Es cada una de las reglas que restringe los valores en una base de datos.
Reglas de integridad
Es el conjunto de reglas que garantizan la consistencia de la informacin. Estas reglas
actan fundamentalmente sobre los dominios, las claves primarias y las claves ajenas
(integridad referencial)

Regla de integridad de la entidad : El atributo que es clave o parte de la clave de una


relacin no puede tomar valores nulos o desconocidos.
Regla de integridad referencial : El valor no nulo de una clave externa debe ser un valor
real de la clave de otra relacin. Es decir, una clave ajena debe coincidir con un valor de la
clave primaria de la relacin a la que apunta o tener un valor nulo.
Definicin de las relaciones
Por comprensin o intensin: Es la parte definitoria y esttica de la definicin, que se
corresponde con la cabecera cuando la relacin se percibe como una tabla.
Por extensin u ocurrencia: Es el conjunto de tuplas que, en un instante determinado,
satisfacen el correspondiente esquema de la relacin. Cuando la relacin se percibe como
una tabla, el cuerpo de la tabla sera la extensin.
2B.6.- EL MODELO RELACIONAL
El elemento central del Modelo Relacional (MR) es la Relacin entendiendo sta como una
tabla que tiene un nombre, un conjunto de atributos que representan sus propiedades y un
conjunto de tuplas que incluyen los valores que toma cada uno de los atributos para cada
elemento de la Relacin.
Una Relacin se representa mediante una tabla de dos dimensiones en la que las columnas
son los atributos de la relacin (campos de la tabla) y las filas son las tuplas. La celda
formada por la interseccin de una tupla y un atributo toma un nico valor. As la relacin
EMPLEADO, que consta de los atributos Num_Empleado, Nombre, Salario, Telfono y
Departamento (nombres de las columnas de la tabla) ofrecer en cada fila la tupla
correspondiente a los datos de un empleado:
EMPLEADO
____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 6 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

NUM_EMPLEADO NOMBRE

SALARIO

TELEFONO

DEPARTAMENTO

101

Juan Alamillo

1.350

223

11

102

Manuel Ortega

1.300

225

11

103

Elisa Fernndez 1.300

228

10

201

Alejandro Lpez 1.000

226

10

209

Leticia Galvez

232

21

1.100

Los atributos de la Relacin se definen sobre Dominios formados por un conjunto de


valores homogneos y atmicos, siendo posible tambin definir los dominios por extensin
(enumerando los posibles valores de los que consta el dominio) o bien indicando un rango de
valores.
2B.7.- RESTRICCIONES EN EL MODELO RELACIONAL
El Modelo Relacional impone una serie de restricciones

2B.7.1.-Restricciones inherentes
Una relacin no puede tener dos tuplas iguales (obligatoriedad de existencia de una clave
primaria)
El orden de las tuplas y el de los atributos no es relevante.
Cada atributo slo puede tomar un valor del dominio sobre el cual est definido
Ningn atributo que forme parte de la clave primaria de una relacin puede tomar el valor
nulo (regla de integridad de entidad).
Por otra parte, los mecanismos que proporciona el modelo relacional para recoger las
restricciones semnticas o de usuario son:

2B.7.2.-Restricciones semnticas o de usuario


La restriccin de Clave Primaria (PRIMARY KEY)
Permite declarar un atributo o conjunto de atributos como clave primaria de una relacin,
esto es, permite identificar unvocamente cada tupla de una relacin)
La restriccin de Unicidad (UNIQUE)
Permite definir claves alternativas, es decir, los valores de uno o varios atributos no
pueden repetirse en diferentes tuplas de una relacin pero admite nulos.
La restriccin de Obligatoriedad (NOT NULL)
Permite declarar si uno o varios atributos de una relacin deben tomar siempre un valor , o
lo que es lo mismo, no pueden tomar valores nulos.
La restriccin de Clave Ajena (FOREIGN KEY)
Tambin denominada Integridad Referencial, que se utiliza para, mediante claves ajenas
(conjunto de atributos en una relacin que es clave primaria en otra relacin o en la misma
relacin) enlazar relaciones de una base de datos.

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 7 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

La integridad referencial indica que los valores de la clave ajena de la relacin hijo
deben corresponderse con los valores de la clave primaria de la relacin padre, o bien
ser nulos si se admiten nulos.
Los atributos que son clave ajena en la relacin no tienen por qu tener los mismos
nombres que los atributos de la clave primaria con la que se corresponden.

Un ejemplo de integridad referencial entre dos relaciones es:


EMPLEADO (NUM_EMPLEADO, NOMBRE, SALARIO, TELEFONO, DEPARTAMENTO)

DEPARTAMENTO (NUMERO_DEPT, NOMBRE)

Las claves primarias de la relacin hija EMPLEADO y de la relacin padre


DEPARTAMENTO son, respectivamente Num_Empleado y Numero_Dept. El
atributo Departamento de la relacin EMPLEADO es una clave ajena que referencia la
relacin DEPARTAMENTO, esto es, los valores del atributo Departamento deben
corresponderse con los valores del atributo clave primaria Numero_Dept. Las
relaciones sern:
EMPLEADO
NUM_EMPLEADO NOMBRE

SALARIO

TELEFONO

DEPARTAMENTO

101

Juan Alamillo

1.350

223

11

102

Manuel Ortega

1.300

225

11

103

Elisa Fernndez 1.300

228

10

201

Alejandro Lpez 1.000

226

10

209

Leticia Galvez

232

21

1.100

DEPARTAMENTO
NUMERO_DEPT

NOMBRE

11

Contabilidad

10

Asesora Jurdica

21

Personal

La integridad referencial asegura que los empleados de la relacin EMPLEADO slo pueden
trabajar en departamentos que hayan sido dados de alta en la relacin DEPARTAMENTO.
La restriccin de Actualizacin de datos
Adems de la integridad referencial que permite enlazar relaciones entre s dando lugar a
la estructura de la Base de Datos (BD), el Modelo Relacional permite tambin definir las
____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 8 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

opciones de borrado y modificacin en las claves ajenas. Estas opciones indican las acciones
que hay que llevar a cabo cuando se produce un borrado o una modificacin de una tupla en
la relacin padre referenciada por una relacin hija . Las posibilidades para una operacin
de actualizacin (borrado o modificacin) son:

Borrado/Modificacin en cascada (CASCADE): Con esta opcin, el borrado (o


modificacin) de una tupla en la relacin padre ocasiona un borrado (o modificacin) de
todas las tuplas relacionadas en la relacin hija (tuplas cuyo valor de la clave ajena
coincida con el valor de la clave primaria de la tupla eliminada o borrada de la relacin
padre).

Borrado/Modificacin restringido (RESTRICT): Esta opcin permite que, si existen


tuplas en la relacin hija relacionadas con la tupla de la relacin padre sobre la que se
realiza la operacin, entonces no se permitir llevar a cabo dicha operacin.

Borrado/Modificacin con puesta a nulos (SET NULL): Esta posibilidad permite poner
el valor de la clave ajena referenciada a NULL cuando se produce el borrado o
modificacin de la tupla en la relacin padre .

Borrado/Modificacin con puesta a un valor por defecto (SET DEFAULT): Esta


posibilidad, de funcionamiento similar a la anterior, permite poner el valor de la clave
ajena referenciada a un valor por defecto que se habr especificado en la definicin de
la tabla correspondiente, cuando se produce el borrado o modificacin de la tupla en la
relacin padre .

La restriccin de Verificacin (CHECK)


Pueden especificarse condiciones que deben cumplir los valores de determinados
atributos en una relacin de una BD (aparte de las restricciones ya comentadas de clave
primaria, unicidad, obligatoriedad y clave ajena).
En estos casos, se definen las restricciones de verificacin, las cuales llevan implcitas
un rechazo en el caso de que no se cumpla una condicin especificada, y que tambin se
comprueban ante una insercin, borrado o modificacin .
Como siempre van asociadas a un elemento (generalmente una relacin) de una base de
datos, no es necesario que tengan un nombre. As, puede definirse para la relacin
EMPLEADO una restriccin sobre el atributo salario tal que el salario del empleado pueda
oscilar entre 600 y 3.000 , por lo tanto si se inserta un empleado con un salario
superior a 3.000 la operacin se rechazara.
La restriccin de Asercin (ASSERTION)
Es una generalizacin del caso anterior. Lo forman las aserciones en que la condicin se
establece sobre atributos de distintas relaciones (por lo que debe tener un nombre que la
identifique). Su funcionamiento es idntico al de las restricciones de verificacin. As se
podra especificar una asercin para la restriccin que establezca Ningn empleado que
trabaje en el departamento de Contabilidad puede ganar mas de 2.000
Disparadores (TRIGGER)
Puede interesar especificar una accin distinta del rechazo cuando no se cumple una
determinada restriccin semntica. En estos casos, los disparadores o triggers permiten,
adems de indicar una condicin, especificar la accin que debe llevarse a cabo si la
condicin se hace verdadera.

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 9 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

2B.8.- NOTACIN EN EL MODELO RELACIONAL


Un esquema relacional se representa mediante un grafo dirigido, cuyos nodos son las
relaciones de la base de datos y los arcos representan las restricciones de clave ajena , y
en el que aparecern adems las distintas relaciones con sus atributos y las restricciones
de clave primaria, unicidad y obligatoriedad. Las convenciones empleadas en este grafo son:
El NOMBRE de las tablas se representa en MAYSCULAS (al igual que el de los
atributos), y en negrita. Primero aparece el nombre de la relacin y a continuacin los
atributos entre parntesis
EMPLEADO (NUM_EMPLEADO, NOMBRE, SALARIO, TELEFONO*, DEPARTAMENTO)

Las claves primarias aparecen subrayadas

Las claves alternativas aparecen en negrita

Las claves ajenas se representan en cursiva y referencian a la relacin en la que son


clave primaria con una flecha

Los atributos que pueden tomar valores nulos aparecen con un asterisco (*)

Las opciones para la integridad referencial son:

B:C , Borrado en Cascada

B:N , Borrado con puesta a nulos

B:D , Borrado con puesta a valor por defecto

B:R , Borrado restringido

M:C , Modificacin en Cascada

M:N , Modificacin con puesta a nulos

M:D , Modificacin con puesta a valor por defecto

M:R , Modificacin restringida

2B.9.- REGLAS DE TRANSFORMACIN DE UN MODELO E/R A UN MODELO


RELACIONAL
Las tres reglas bsicas empleadas para transformar un ME/R a un MR son:
Toda entidad se transforma en una relacin (tabla)
Las interrelaciones N:M se transforman en una relacin (tabla)
Las interrelaciones 1:N dan lugar o bien a una propagacin de clave o bien a una relacin
(tabla)
Con ms detalle, los criterios de transformacin del modelo relacional son los siguientes:

2B.9.1.- Transformacin de entidades, atributos y dominios


Cada entidad del esquema E/R da lugar a una nueva relacin cuya clave primaria es el
identificador principal de la entidad
Cada atributo de una entidad se transforma en un atributo de la relacin creada para la
entidad, aunque hay que tener en cuenta sus distintos tipos de restricciones semnticas.
Cada Dominio se transforma en dominios del modelo relacional.

2B.9.2.- Transformacin de interrelaciones N:M


____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 10 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

Las interrelaciones N:M dan lugar a una relacin (tabla) cuya clave ser la concatenacin de
los identificadores principales (claves primarias) de las entidades que enlaza la
interrelacin. De esta forma, los atributos que forman la clave primaria de esta nueva tabla
son claves ajenas respecto a las relaciones en las que estos atributos son clave primaria.
Si la interrelacin tiene de por s atributos, stos pasarn a formar parte de la tabla
creada por la interrelacin.
Es necesario tener en cuenta cuales son las cardinalidades mximas y mnimas en cada lado
de la interrelacin para no perder semntica en la transformacin.

2B.9.3.- Transformacin de interrelaciones 1:N


En el caso de interrelaciones 1:N existen dos posibilidades de transformacin:
Crear una nueva relacin (tabla) para la interrelacin, cuyo tratamiento ser igual que el de
las interrelaciones N:M, con la salvedad de que la clave primaria de la nueva tabla ser el
identificador principal (clave primaria) de la entidad que se encuentra en el lado N de la
interrelacin. En general, esta suele ser la solucin mas razonable cuando la interrelacin
tiene atributos propios.
Propagar el identificador principal desde la entidad que se encuentra en el lado 1 a la
entidad que se encuentra en el lado N (fenmeno de propagacin de clave). Si existen
atributos propios en la interrelacin, stos tambin se propagarn.
Suele adoptarse esta solucin cuando no se tiene informacin relativa al volumen de
nulos que se manejarn o si se desconocen las posibilidades de que la interrelacin
evolucione a una interrelacin N:M.
No debe olvidarse controlar las cardinalidades mximas y mnimas de la interrelacin para
no perder semntica.

2B.9.4.-Transformacin de dependencias en existencia y en identificacin


Una interrelacin 1:N de Dependencia en Existencia origina que la clave ajena propagada
desde la entidad fuerte a la entidad dbil, deba tener la opcin de borrado en Cascada,
esto es, no puede existir ninguna ocurrencia de la entidad hijo que no est relacionada con
una ocurrencia de la entidad padre.
Una interrelacin 1:N de Dependencia en Identificacin da lugar a una propagacin de clave
desde la entidad fuerte a la entidad dbil de forma que la entidad dbil requiere de la
clave de la entidad fuerte para su identificacin. (Recurdese que una Dependencia en
Identificacin siempre implica una Dependencia en Existencia; sin embargo, una
Dependencia en Existencia no tiene por qu implicar una Dependencia en Identificacin.).

2B.9.5.- Transformacin de generalizaciones


Aunque existen otras posibilidades de transformacin de jerarquas al modelo relacional, la
forma mas habitual de transformacin consiste en crear una relacin (tabla) para cada
entidad participante en la jerarqua (una tabla para el supertipo y otra para cada uno de los
subtipos), de tal forma que el supertipo propaga su identificador principal a cada uno de los
subtipos que pasan a identificarse por el mismo identificador (como clave ajena).
La relacin creada para el supertipo podr contener un atributo discriminante de la
jerarqua.
Las restricciones semnticas de totalidad / parcialidad y de exclusividad /solapamiento
tambin hay que controlarlas en la transformacin al modelo relacional.
____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 11 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

La totalidad se controla prohibiendo las inserciones en el supertipo y con un disparador que


ante una insercin en el subtipo inserte tambin en el supertipo (adems de considerar que
el atributo discriminante no pueda tomar valores nulos).
En el caso de parcialidad el atributo discriminante puede tomar valores nulos y no ser
necesario ningn disparador.
En cuanto a la exclusividad, se requiere una restriccin de asercin que compruebe que, si
un ejemplar pertenece a uno de los subtipos, no puede pertenecer a los dems.
Si se permite el solapamiento, tambin ser necesaria una asercin similar a la de la
exclusividad pero que d cabida a nuevos valores del atributo discriminante para los casos
de solapamiento comprobando que las ocurrencias estn en los subtipos adecuados.

2B.9.6.- Transformacin de interrelaciones de grado superior a dos


Hasta el momento slo se han tratado interrelaciones binarias. Si en el modelo E/R se
encuentran interrelaciones de grado superior (ternarias, cuaternarias, etc.) es preciso
hacer un estudio exhaustivo de las cardinalidades mnimas y mximas para llevar a cabo la
transformacin.
Para el caso general de interrelaciones ternarias N:M:P (aunque puede extenderse a las de
grado superior a 3) la interrelacin dar lugar a una relacin (tabla) cuya clave primaria es
la concatenacin de los identificadores principales de las entidades que relaciona. En el
caso de que las cardinalidades sean (1.N), (1,N) y (1,N) no es necesario ningn mecanismo
adicional para no perder semntica en la transformacin al modelo relacional.
Sin embargo, es necesario estudiar las cardinalidades mnimas y mximas en los tres lados
de la interrelacin para realizar la transformacin al modelo relacional sin perder
semntica, por ejemplo, en el caso de que alguna Cardinalidad mnima sea 0 en el caso de
que algn lado de la interrelacin tenga cardinalidad (1,1).

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 12 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

2B.9.7.- Transformacin de las relaciones de tipo 1:1


Pueden diferenciarse tres formas:
a.

Si las cardinalidades son (1,1), se pueden considerar dos formas


1.- r (e1, atrs e1, e2, atrs e2, atrs a)
2.- r (e1, atrs e1, e2, atrs a)
r (e2, atrs e2)

b. Si las cardinalidades son (1,1) y (1,0)


r (e1, atrs e1)
r (e2, atrs e2, e1, atrs a)
c.

Si las cardinalidades son (0,1)


r (e1, atrs e1)
r (e2, atrs e2)
r (e1, e2, atrs a)

2B.9.8.- Transformacin de las relaciones jerrquicas.


Las relaciones jerrquicas son un caso especial, se pueden dar algunas guas que
sirvan de referencia pero en la mayora de los casos va a depender del problema en
concreto. Estas guas son:

1.

Se crear una tabla para cada entidad supertipo, a no ser que tenga tan pocos
atributos que dejarlas sea una complicacin.

2. Si la entidad subtipo no tiene atributos y no est relacionada con ninguna otra


entidad esta desaparece.
3. Si la entidad subtipo tiene algn atributo se crea una tabla, si no tiene clave
propia hereda la de la entidad supertipo.
4. Si la relacin es exclusiva, el atributo que genera la jererarqua se incorpora en
la tabla de la entidad supertipo. Si se ha creado una tabla para cada una de las
entidades subtipo, no hace falta incorporar dicho atributo a la entidad
supertipo.

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 13 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

5. Si la relacin es inclusiva, se pueden realizar varias opciones:


a.

Se crea una tabla para cada una de las entidades subtipo. Si se ha


creado una tabla para la entidad supertipo, no se incorpora en ella el
atributo que genera la jerarqua.

b. Se crea una tabla para la relacin jerrquica que contenga la clave de la


entidad supertipo y el atributo que genera la jerarqua. Ambos forman
parte de la clave de dicha tabla.

2B.9.9.- Prdida de semntica en la transformacin al modelo relacional


Existen algunas restricciones que es necesario controlar con mecanismos externos al
modelo relacional dado que muchos de los Sistemas Gestores de Bases de Datos (SGBD)
comerciales no implementan el modelo relacional completo. En particular, mecanismos tipo
CHECK y ASSERTION no suelen estar disponibles en los SGBD lo que implica que hay que
recurrir a otros medios para recoger estas restricciones (por ejemplo disparadores
presentes en la BD, procedimientos almacenados, aplicaciones externas, etc.).
Algunas de las restricciones de los esquemas Entidad/Relacin que deben contemplarse en
la transformacin al modelo relacional mediante chekcs, aserciones o disparadores son:
____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 14 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

Cardinalidades mnimas de 1 en interrelaciones N:M y 1:N (excluyendo aquellas que se


controlan con la restriccin NOT NULL cuando se realiza una propagacin de clave).
Cardinalidades mximas conocidas en interrelaciones binarias N:M y 1:N e interrelaciones
ternarias.
Exclusividad en las generalizaciones
Insercin y borrado en las generalizaciones
Restricciones que no figuran en el enunciado original pero que se consideran adecuadas o
convenientes (por ejemplo, restricciones que implican operadores de comparacin de
fechas, etc.).
2B.10.- DEPENDENCIAS FUNCIONALES
Las dependencias funcionales determinan una manera de definir restricciones en un
esquema relacional.
Dada una relacin R que contiene los atributos X e Y se dice que Y depende funcionalmente
de X (X Y) s y slo s en todo momento cada valor de X tiene asociado un solo valor de
Y. Esto es lo mismo que decir que si dos tuplas de R tienen el mismo valor para su atributo
X forzosamente han de tener el mismo valor para el atributo Y.
A veces, para determinar el valor de un atributo es preciso conocer el valor de varios
atributos.
As
puede ser que si el atributo Y no depende funcionalmente del atributo X (X -/
Y) simultneamente el atributo Y tampoco depende funcionalmente del atributo Z (Z
-/ Y) sin embargo Y dependa funcionalmente de la composicin de los atributos X y Z (
XZ Y ).
Dependencias completa y parcial
Dado un atributo compuesto X formado por los atributos X1 y X2 se dice que el atributo Y
tiene una dependencia funcional completa con respecto a X s:
X1 -/ Y ; X2 -/ Y ; Y -/ X

pero X Y

Por el contrario, dado un atributo compuesto X formado por los atributos X1 y X2 se dice
que el atributo Y tiene una dependencia funcional parcial con respecto a X si:
X1 Y o X2 Y y X Y

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 15 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

Dependencia funcional

Dependencia funcional respecto a combinaciones de atributos.

Dependencia funcional completa

Axiomas de Armstron
Son un conjunto de reglas que permiten deducir implicaciones lgicas en un conjunto de
dependencias funcionales.
Si se considera una tabla relacional o una relacin T, de la cual son atributos X, Y, Z, W:

Reflexividad: Si los valores del conjunto de atributos Y estn incluidos o son iguales a un
conjunto de atributos X se verifica que Y depende funcionalmente de X:

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 16 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

Si Y X X Y

Aumentatividad: Si el conjunto de atributos Y depende funcionalmente de X, la


dependencia se mantiene si se aade a ambos conjuntos el mismo atributo:
Si X Y XZ YZ

Dependencia transitiva: Si en la relacin T existen las siguientes dependencias funcionales


X Y ; Y Z ; Y-/ X
Se dice que Z tiene una dependencia transitiva respecto X a travs de Y:
XZ

Unin o aditividad: Si Y depende de X y adems Z tambin depende de X la composicin de


Y y Z depende tambin de X:
Si X Y y X Z

X YZ

Pseudo-transitividad: Si el atributo Y depende funcionalmente de X y el atributo Z


depende funcionalmente del atributo compuesto WY se verifica entonces que Z depende
funcionalmente del atributo compuesto WX:
Si X Y y WY Z

WX Z

Descomposicin o proyectividad: Si Y depende funcionalmente de X y los valores de Z


estn incluidos en Y entonces Z depende funcionalmente de X:
X Y si

ZY XZ

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 17 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

2B.11.- LGEBRA RELACIONAL


El modelo relacional es la forma de representar los datos y manipular dicha representacin
considerando la integridad de los datos. Estos, en el modelo relacional se representan
mediante Relaciones y un procedimiento para su manipulacin es el lgebra Relacional.
El lgebra relacional es un lenguaje de consulta procedimental.
Un lenguaje de consulta es aquel que el usuario utiliza para solicitar informacin de la base
de datos. Este tipo de lenguajes puede ser procedimental o no procedimental. En el primer
caso, el usuario indica la secuencia de operaciones que debe realizar sobre la base de datos
para obtener el resultado deseado, mientras que en un lenguaje no procedimental el usuario
describe la informacin que desea sin dar el procedimiento para determinarla.
Para realizar las consultas a la base de datos, el lgebra relacional dispone de un conjunto
de operadores y una operacin de asignacin.
La operacin de asignacin asigna el valor de alguna expresin del lgebra a una relacin
nombrada.
Los operadores toman una o dos relaciones como entrada y producen una nueva operacin
como salida.
En lgebra relacional se definen ocho tipos de operadores bsicos:

Operaciones de Conjuntos: Unin, Interseccin, Diferencia y Producto Cartesiano.

Operaciones relacionales: Seleccin, Proyeccin, Reunin y Divisin.

Adems de estos operadores, se define el operador Renombrar que permite cambiar el


nombre de los atributos de una relacin.

2B.11.1.- Operador Renombrar ()


Cambia el nombre de los atributos que sean necesarios en una relacin antes de realizar una
operacin que pueda llevar a una relacin con una cabecera en la que aparezcan dos
atributos con el mismo nombre.
A partir de una relacin especificada crea una nueva copia de sta en la que slo se han
modificado los nombres de aquellos atributos que se quieren renombrar. La sintaxis, para
una relacin de nombre R, es:
R Atributos Nuevos (Atributos originales)

2B.11.2.- Operaciones de conjuntos


Se dice que dos Relaciones son compatibles respecto a la unin s y slo s sus cabeceras
son idnticas. Esto implica que:
1.- Las dos tienen el mismo conjunto de nombres de atributos.
2.- Los atributos correspondientes se definen sobre el mismo dominio.
Se dice que dos Relaciones son compatibles respecto al producto s y slo s sus cabeceras
son disjuntas, esto es, no contienen nombres de atributos iguales.
Unin (): La unin de dos relaciones R1 y R2 compatibles respecto a la unin es una nueva
relacin R cuya cabecera es idntica a la de las dos relaciones y cuyo cuerpo est formado
por todas las tuplas pertenecientes a R1 , a R2 o a las dos. Esto es, est formado por todas
las tuplas que aparecen en cualquiera de las dos relaciones especificadas. Su sintaxis es:
____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 18 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

R = R1 R2

Interseccin ():La interseccin de dos relaciones R1 y R2 compatibles respecto a la unin


es una nueva relacin R cuya cabecera es idntica a la de las dos relaciones y cuyo cuerpo
est formado por todas las tuplas pertenecientes tanto a R1 , como a R2 o a las dos. Esto
es, est formado por todas las tuplas que aparecen en las dos relaciones especificadas. Su
sintaxis es:
R = R1 R2

Diferencia (-):La diferencia de dos relaciones R1 y R2 compatibles respecto a la unin es


una nueva relacin R cuya cabecera es idntica a la de las dos relaciones y cuyo cuerpo est
formado por todas las tuplas pertenecientes a R1 pero no a R2. Esto es, est formado por
todas las tuplas de la primera relacin que no aparecen en la segunda. Su sintaxis es:
____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 19 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

R = R1 - R2

Producto Cartesiano (x):El producto cartesiano de dos relaciones R1 y R2 compatibles


respecto al producto es una nueva relacin R cuya cabecera es una combinacin de las
cabeceras de R1 y R2 y cuyo cuerpo est formado por el conjunto de todas las tuplas t
tales que t es la combinacin de la tupla t1 perteneciente a R1 y la tupla t2 perteneciente a
R2. Esto es, est formado por todas las combinaciones posibles de tuplas, una de cada una
de las dos relaciones. Su sintaxis es:
R = R 1 x R2

2B.9.2.1.- Propiedades de los operadores de conjuntos


La Unin, la interseccin y el producto cartesiano gozan de la propiedad asociativa y de la
conmutativa, pero no as la diferencia. As si R1 , R2 y R3 son relaciones arbitrarias (que
cumplen con la compatibilidad respecto de la operacin a realizar) se tendr:
____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 20 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

Propiedad Asociativa:
Unin .-

(R1 R2) R3 R1 ( R2 R3 ) R1 R2 R3

Interseccin.-

(R1 R2) R3 R1 ( R2 R3 ) R1 R2 R3

Producto Cartesiano.- (R1 x R2)x R3 R1 x( R2 x R3 ) R1 x R2 x R3


Propiedad Conmutativa:
Unin.-

R 1 R2 R 2 R1

Interseccin.-

R1 R2 R2 R1

Producto Cartesiano.-

R1 x R2 R2 x R1

2B.11.3.- Operaciones Relacionales


Seleccin (): La seleccin de tuplas de una relacin R es otra relacin con la misma
cabecera que R y cuyo cuerpo est formado por las tuplas de R que verifican una condicin
entre atributos.
En la condicin pueden aparecer operadores de comparacin (=, <>, >=, etc.) y booleanos
(and, or, not). Los atributos que aparecen en la condicin deben estar definidos sobre el
mismo dominio. La sintaxis del operador es:
Condicin (R)

Proyeccin (): La proyeccin de la Relacin R segn los atributos A 1, A2, ... , An es otra
relacin que tiene por cabecera los atributos indicados y en cuyo cuerpo aparecen todas las
tuplas de R restringidas a dichos atributos, eliminando tuplas repetidas. La sintaxis del
operador es:
A1, a2, ...An (R)

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 21 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

Ejemplo:
Se tienen las tablas:
ALUMNO (NMat#, Nombre, Apellidos, DNI, Dir, Ciudad, Telef)
ASIGNATURA (Cod_Asig#, Nombre_Asig)
MATRICULADO (NMat#, Cod _Asig#, Nota)
a) Obtener el nombre de las asignaturas en las que est matriculado A 777.

Nombre_Asig

( (ASIGNATURA) *

Cod_Asig#

( (NMat#=A777) (MATRICULADO)))

b) Obtener el nombre y DNI de los alumnos de Granada que estn matriculados en


Anlisis y Diseo detallado de Aplicaciones Informticas de Gestin (ADAI).

Nombre, DNI

((Ciudad = 'Granada') (ALUM) (

NMat#

(MAT * ( (Nombre_Asig='ADAI') (ASIG)))))

c) Obtener el lugar de procedencia de los alumnos que han aprobado Programacin


en Lenguajes Estructurados (PLE).

Ciudad

[(ALUM) *(

NMat#

(MAT) * (

(Nota >5)

(MAT) * Cod_Asig# ((Nombre_Asig=PLE)

(ASIG))) )) ]

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 22 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

Reunin: La reunin de dos relaciones especficas es otra relacin que contiene todas las
posibles combinaciones de tuplas, una de cada una de las dos relaciones, tales que las dos
tuplas participantes de la combinacin satisfacen una condicin especificada. Se consideran
dos tipos de reunin:
Reunin natural (*): Sea (A1, A2,..., An, B1, B2,..., Bm) la cabecera de la relacin R1 y
(B1, B2,..., Bm, C1, C2,..., Cp) la cabecera de la Relacin R2 estando los atributos del
mismo nombre definidos en el mismo dominio.
Si se consideran los tres atributos compuestos A, B, C, la reunin natural de R1 y R2 es una
relacin con la cabecera (A, B, C) y un cuerpo formado por todas las tuplas t (A:a, B:b,
C:c) tales que t es la combinacin de la tupla t1 que aparece en R1 con el valor a en A y el
valor b en B, y la tupla t2 que aparece en R2 con el valor b en B y el valor c en C. La sintaxis
del operador es:
R1 * R2
Si las dos relaciones no tienen atributos en comn, la reunin natural coincide con el
producto cartesiano:
R1 * R2 R1 x R2
Goza de las propiedades asociativa y conmutativa:

Asociativa:
Conmutativa:

(R1 * R2)* R3 R1 *( R2 * R3 ) R1 * R2 * R3
R1 * R 2 R 2 * R 1

Reunin Theta (|x|): Permite reunir dos relaciones en funcin de una condicin diferente
de la igualdad. Sean las relaciones R1 y R2 compatibles respecto al producto y sea un
operador. La reunin theta de la relacin R1 segn el atributo A con la relacin R2 segn el
atributo B es una relacin con la misma cabecera que el producto cartesiano de R1 y R2 y un
cuerpo formado por el conjunto de todas las tuplas t tales que t pertenece al producto
cartesiano si la evaluacin de la condicin A B resulta verdadera. Los atributos A y B
deben estar definidos sobre el mismo dominio y la operacin debe ser aplicable a ese
dominio. La sintaxis del operador es:
____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 23 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

AB

(R1 x R2) R1 |x|A B R2

Divisin (): Sea (A1, A2,..., An, B1, B2,..., Bm) la cabecera de la relacin R1 y (B1,
B2,..., Bm) la cabecera de la Relacin R2 estando los atributos del mismo nombre definidos
en el mismo dominio.
Si se consideran los atributos compuestos A y B, la divisin de R1 (dividendo) entre R2
(divisor), es otra relacin con la cabecera (A) y un cuerpo formado por el conjunto de todos
los valores de R1 en el atributo A, cuyos valores correspondientes en el atributo B incluyen
a todos los valores del atributo B en la relacin R2.
La divisin toma dos relaciones, una binaria y otra unaria, y construye una relacin formada
por todos los valores de un atributo de la relacin binaria que concuerdan , en el otro
atributo, con todos los valores en la relacin unaria. La sintaxis del operador es:
R1 R2

2B.11.4.- Operaciones adicionales


Ampliacin (): Toma una relacin R y crea otra nueva relacin con un atributo mas que la
original cuyos valores se obtienen evaluando alguna expresin de clculo escalar. La sintaxis
del operador es:
R Clculo Escalar (nombre atributo)

Resumen (): Permite incorporar operaciones de agregados (cuenta, suma, promedio,


mximo, mnimo, etc.). A partir de una relacin R y de una lista de atributos, obtiene otra
relacin en cuya cabecera aparecen los atributos de R especificados y un nuevo atributo,
con el nombre indicado, siendo los valores de ste ltimo el resultado de evaluar la
expresin de agregados. La sintaxis del operador es:

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 24 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

R (lista atributos)

Clculo Agregados

(nombre atributo)

Divisin generalizada (): Dadas la relacin R1 con la cabecera (A, B) y la relacin R2 con la
cabecera (B, C) donde los atributos A, B, C pueden ser compuestos, la divisin
generalizada produce una relacin que tiene como cabecera (A, C) y un cuerpo formado por
todas las tuplas (A:a, C:c) tales que aparece una tupla (A:a, B:b) en R1 para todas las
tuplas (B:b, C:c) que aparecen en R2.
Si C est vaco la operacin se reduce a la divisin entre R1 y R2
Si A est vaco la operacin se reduce a la divisin entre R2 y R1
Si B est vaco la operacin degenera en el producto cartesiano de R1 y R2
Al ser la divisin un caso particular de la divisin generalizada utilizan la misma simbologa.
La sintaxis del operador es:
R1 R2

2B.9.5.- Asignacin relacional


El objetivo de esta operacin es asignar, mediante una etiqueta, el valor de alguna
expresin algebraica. La asignacin se utiliza en consultas que requieren una expresin
algebraica extensa.
Etiqueta Expresin
2B.12.- CLCULO RELACIONAL
El lgebra relacional representa un procedimiento para manipular datos dentro del Modelo
Relacional. Las consultas, en lgebra relacional se realizan mediante una serie de
operadores que permiten expresar el procedimiento para construir una determinada
relacin a partir de las relaciones que componen la base de datos.
El Clculo relacional proporciona un mtodo de manipulacin de los datos que, a diferencia
del lgebra relacional, permite definir la relacin deseada sin dar un procedimiento
especfico para obtenerla. lgebra y Clculo relacional son totalmente equivalentes en el
sentido de que para una expresin del lgebra existe una expresin del clculo y viceversa.
El Clculo relacional puede enfocarse desde dos vertientes: Clculo relacional de Tuplas y
Clculo relacional de dominios.

2B.12.1.- Clculo relacional de Tuplas


Una consulta en el clculo relacional de tuplas se expresa como el conjunto de todas las
tuplas t de una relacin tal que el predicado P es verdadero para t:
{t|P(t)}
Donde t representa una variable de tupla y P una frmula en la que pueden aparecer varias
variables de tupla.
Una variable de tupla t es una variable que recorre una relacin R, o, lo que es lo mismo,
una variable cuyos nicos valores permitidos son las tuplas de una relacin. Pueden ser
libres o acotadas.

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 25 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

Se dice que una variable de tupla es libre cuando no se encuentra cuantificada (esto es, no
existe una limitacin definida por un

(Existe) o por un

contrario se denomina acotada o lmite.

(Para todo)). En caso

Los componentes de una frmula pueden tener una de las siguientes formas:
1.- t R
Donde t es una variable de tupla y R una relacin.
Indica que la tupla t pertenece a la relacin R, es decir, la tupla est en la relacin.

2 t[A] s[B]
Donde t y s son dos variables de tuplas, A es un atributo sobre el que est definida la tupla
t, B es una atributo sobre el que est definida la tupla s y es un operador de
comparacin ( , , = , , ). Los atributos deben pertenecer a dominios cuyos
elementos puedan compararse mediante el operador .
Por t[A] se denota el valor de la variable t en el atributo A.
3 t[A] c
Donde t es una variable de tupla, A es un atributo sobre el que est definida t, es un
operador de comparacin y c es una constante en el dominio del atributo A.
Los signos de operacin y su significado es el siguiente:

Existe; No existe
Para todo

Pertenece a; no pertenece a

OR

AND

Negacin

Implicacin directa

Implicacin inversa

Implicacin recproca

Para construir una frmula a partir de las formas y los signos de operacin anteriores se
deben tener en cuenta las siguientes reglas:
Cada uno de los componentes descritos es una frmula
Si P1 es una frmula, tambin los son

P1 y (P1)

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 26 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

Si P1 y P2 son frmulas, tambin lo son P1 P2 ; P1 P2 y P1

P2

Si P(t) es una frmula que contiene una variable de tupla libre t y R representa una
relacin, Entonces:

t R(P(t))

t R(P(t))

son tambin frmulas.


Son expresiones absolutamente equivalentes:

(P P )
t R(P (s)) t R( P (s))
P P p p
P1

P2

Una expresin {t|P(t)} es segura si todos los valores que aparecen en el resultado son
valores del dominio de P. El dominio de P es el conjunto de todos los valores que se
encuentran en una o ms relaciones cuyos nombres aparecen en P.

2B.12.2.- Clculo relacional de Dominios


El clculo relacional de dominios difiere del clculo relacional de tuplas en el empleo de
variables de dominio en lugar de variables de tupla, esto es, en el uso de variables que
recorren dominios en lugar de variables que recorren relaciones. Las variables de dominio
toman valores del dominio de un atributo en lugar de valores de una tupla completa.
Una consulta en el clculo relacional de dominios es de la forma:
{<x1, x2, ... , xn> | P(x1, x2, ... , xn)}
donde x1, x2, ... , xn representan variables de dominio y P representa una frmula. La
expresin anterior es el conjunto de tuplas <x1, x2, ... , xn> formadas por los valores de
los dominios recorridos por las variables x1, x2, ... , xn que verifican el predicado P.
Los componentes de una frmula pueden tener una de las siguientes formas:
< x1, x2, ... , xn>

Donde R es una relacin con n atributos y x1, x2, ... , xn son variables de dominio.
Sean A1, A2, ... . An los atributos de la relacin R y D1, D2, ... , Dn los dominios en los
que estn definidos cada uno de dichos atributos respectivamente. En la expresin anterior
cada variable de dominio xi puede tomar valores del dominio Di restringidos a los valores
que toma el atributo Ai en la relacin R.
La condicin de pertenencia anterior resulta verdadera si y slo si existe una tupla en la
relacin R con el valor de la variable x1 en el atributo A1, el valor de la variable x2 en el
atributo A2 ... y el valor de la variable xn en el atributo An .
x y
Donde x e y son variables de dominio y es una operacin de comparacin ( < , , = , , > ,
). Los atributos correspondientes a las variables x e y deben pertenecer a los dominios
cuyos valores puedan compararse mediante el operador .

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 27 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

x c
Donde x es una variable de dominio, es una operacin de comparacin ( < , , = , , > ,
) y c es una constante en el dominio del atributo para el cual x es una variable de dominio.
Para construir una frmula a partir de los componentes anteriores se debe tener en cuenta
las siguientes reglas:
# Cada uno de los componentes descritos es una frmula
# Si P1 es una frmula, entonces tambin lo son

P1 y (P1)

# Si P1 y P2 son frmulas entonces tambin lo son P1

P2 , P1

P2 y P1 P2

# Si P(x) es una frmula en x, donde x es una variable de dominio, entonces x(P(x)) y

x(P(x)) tambin son frmulas.

La expresin x(P(x)) indica que existe un valor de la variable de dominio x para el cual
es verdadero el predicado P(x). La expresin puede estar anidada y para abreviar la
notacin se puede escribir :

x,y,z (P(x,y,z)) en lugar de x( y( z (P(x,y,z))))


La expresin

x(P(x)) denota que el predicado p(x) es verdadero para todo valor de la

variable de dominio x.

Una expresin {<x1, x2, ... , xn> | P(x1, x2, ... , xn)} es segura si se cumplen las
siguientes condiciones:
1.- Todos los valores que aparecen en tuplas de la expresin son valores del dominio de P.
2.- Para cada componente de la forma x(P(x)) de una frmula, ste es verdadero si y
slo si existe un valor de x en el dominio de P(x) tal que el predicado P(x) es verdadero.
3.- Para cada componente de la forma

x(P(x)) de una frmula, ste es verdadero si y

slo si el predicado P(x) es verdadero para todos los valores x del dominio P(x)

El clculo relacional restringido a expresiones seguras, el clculo relacional de dominios


restringido a expresiones seguras y el lgebra relacional son equivalentes.
2B.13.- NORMALIZACIN
El proceso de normalizacin consiste en seguir una serie de pasos o normas, al definir una
Base de Datos Relacional que, tras ser aplicadas, se obtienen los datos agrupados en
diferentes relaciones, de forma tal que la estructura obtenida es ptima para su
implementacin, gestin y aplicacin desde diferentes aplicaciones futuras. Se dice que una
relacin est en una forma normal cuando satisface un conjunto de restricciones impuestas
por dicha norma. El proceso de normalizacin parte de las formas normales definidas por E.
F. Codd, creador de las Bases de Datos Relacionales, en 1970. Inicialmente se definieron
tres formas normales (1FN, 2FN, 3FN). Debido a ciertas anomalas detectadas en ciertas
bases de datos, se defini una forma normal mas completa (Forma de Boyce y Codd) y,
posteriormente Fagin defini la 4FN y la 5FN.La normalizacin se basa en que los datos
son independientes de las aplicaciones que los gestionan y su objetivo es obtener el mayor
nmero de relaciones posible, dejando en cada una de ellas los atributos imprescindibles
para representar a la entidad (objeto) o a la relacin entre entidades a la que hace

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 28 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

referencia la relacin mediante la conexin de sus claves .Las ventajas que se obtienen
tras la normalizacin de los datos para su eficaz gestin son:

Facilidad de uso.- Los datos estn agrupados en relaciones que identifican


claramente un objeto o una relacin.

Flexibilidad.- La informacin que necesitan los usuarios puede obtenerse de las


relaciones relacionales o las relaciones mediante operaciones de lgebra relacional, uniendo
relaciones, seleccionando sus valores, proyectndolos, etc.

Precisin.- Las interrelaciones entre relaciones consiguen mantener informacin


diferente relacionada con toda exactitud.

Seguridad.- Los controles de acceso para consultar o actualizar informacin (tanto


en relaciones como en atributos) son mucho mas sencillos de implementar.

Independencia de datos.- Los programas no estn ligados a las estructuras, con lo


que se consigue aumentar la base de datos aadiendo nuevos atributos o nuevas relaciones
sin que afecten a los programas que las usan.

Claridad.- La representacin de la informacin es clara y sencilla para un usuario:


son relaciones simples.

Facilidad de gestin.- Los lenguajes manipulan la informacin en forma sencilla, al


estar los datos basados en el lgebra y clculo relacional.

Mnima redundancia.- La informacin no estar duplicada innecesariamente dentro


de las estructuras.

Mximo rendimiento de las aplicaciones.- Slo se trata aquella informacin que va a


ser de utilidad en cada aplicacin concreta.
El proceso de normalizacin se realiza despus del anlisis detallado del mundo real objeto
de la base de datos, estableciendo las interrelaciones y las restricciones existentes entre
los datos, sus agrupaciones y el modelo Entidad - Relacin subsiguiente.
2B.14.- PRIMERA FORMA NORMAL (1FN)
Se dice que una relacin est en 1FN (Primera Forma Normal) si y slo si los valores que
componen cada atributo de una tupla son atmicos. Esto es: Se dice que una relacin est
en 1FN s y slo si cada atributo de la relacin toma un nico valor del dominio
correspondiente.

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 29 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 30 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

2B.15.- SEGUNDA FORMA NORMAL (2FN)


Se dice que una relacin se encuentra en 2FN si y slo si cumple las condiciones siguientes:
Se encuentra en la Primera Forma Normal.

Todo atributo secundario (es decir, todo atributo de la relacin que no pertenece a
la clave principal) tiene una dependencia funcional completa de la clave principal completa.
Dado que la clave principal puede ser una clave compuesta, una relacin no estar en la 2FN
si algn atributo de ella depende funcionalmente de una parte de la clave principal pero no
de la clave completa

2B.15.1.- Teorema de la Segunda Forma Normal


Sea una Relacin formada por los atributos A, B, C, D con clave primaria compuesta por los
atributos A y B. Si se cumple que:
AD

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 31 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

Entonces la Relacin puede descomponerse en dos Relaciones Relacin1 y Relacin2 con los
atributos respectivos:
RELACIN1 (A, D)
RELACIN2 (A, B, C)

2B.16.- DEPENDENCIA FUNCIONAL TRANSITIVA


Anteriormente, dentro de los Axiomas de Armstrong, se ha establecido la dependencia
funcional transitiva cuya definicin formal es: Dados tres subconjuntos distintos de
atributos A, B y C pertenecientes a una relacin T, tales que cumplen las condiciones:
AB

B -/ A

Se dice que C tiene una dependencia funcional transitiva con A o que es transitivamente
dependiente de A si se cumple:
BC
La representacin grfica de dicha dependencia funcional transitiva ser:

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 32 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

Por lo tanto el atributo (o subconjunto de atributos) C ser transitivamente dependiente


del atributo (o subconjunto de atributos) A si puede determinarse por diferentes caminos,
en particular uno directamente, y otro, mediante un atributo (o subconjunto de atributos)
B.

2B.16.1.- Tercera Forma Normal (3FN)


Se dice que una relacin est en 3FN s y slo si cumple las siguientes condiciones:
Se encuentra en la Segunda Forma Normal.

Ningn atributo no primario es transitivamente dependiente de cada posible clave


(primaria o candidatas) de la relacin.
Esto quiere decir que no existe ningn atributo no principal que dependa transitivamente
de alguna de las claves de la relacin.

2B.16.2.- Teorema de la Tercera Forma Normal


Sea una Relacin formada por los atributos A, B, C con clave primaria formada por el
atributo A. Si se cumple que:
BC
____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 33 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

Entonces la Relacin puede descomponerse en dos Relaciones Relacin1 y Relacin2 con los
atributos respectivos:
RELACIN1 (A, B)
RELACIN2 (B, C)

2B.17.- DESCOMPOSICIN DE RELACIONES


La transformacin de una relacin que se encuentra en una determinada forma normal en
otra relacin cuya forma normal es superior se realiza por medio del operador proyeccin
del lgebra relacional.
As, por ejemplo la relacin:
RELACIN(Campo1, Campo2, Campo3)
es tal que se encuentra en 1FN por que su nico atributo no principal (Campo3) no depende
totalmente de la clave (agregacin de Campo1 y de Campo2), sino de parte de ella (por
ejemplo, Campo3 solamente depende de Campo2), puede llevarse a una forma normal ms
avanzada descomponindola mediante proyecciones, obteniendo as varias relaciones:
RELACIN1 = Campo1, Campo2 (RELACIN)
RELACIN2 = Campo2, Campo3 (RELACIN)
Estando ambas relaciones en una forma normal superior. En concreto en 3FN ya que la
combinacin natural RELACIN1 * RELACIN2 mediante el atributo comn Campo2
devuelve la relacin original RELACIN

2B.17.1.- Descomposicin sin prdida de informacin


Se dice que una descomposicin se ha realizado sin prdida de informacin cuando la
combinacin natural de las proyecciones resultantes devuelve la relacin original.
La condicin necesaria y suficiente para que una descomposicin se produzca sin prdida de
informacin es que el atributo comn de las dos relaciones sea clave, al menos en una de
ellas.

2B.17.2.- Descomposicin sin prdida de dependencias funcionales


Las dependencias funcionales recogen la semntica del mundo real por lo que es
conveniente conservarlas en el proceso de descomposicin

2B.17.3.- Descomposicin en proyecciones independientes


La descomposicin de una relacin R en un conjunto de relaciones {R i} se dice que se ha
realizado en proyecciones independientes si no ha habido prdida de informacin ni prdida
de dependencias funcionales.
Se trata de la mejor descomposicin ya que las relaciones resultantes son equivalentes a la
relacin original y, en ellas se han eliminado las anomalas de insercin, modificacin y
borrado.
Toda relacin en 3FN puede descomponerse sin prdida de informacin ni de dependencias
funcionales.

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 34 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

2B.18.- FORMA NORMAL DE BOYCE CODD


Se define como determinante en una Relacin a un atributo del cual depende
funcionalmente de manera completa cualquier otro atributo de la Relacin
Se dice que una Relacin est en la Forma Normal de Boyce Codd (FNBC) si y slo s todo
determinante de ella es una clave candidata.
En la prctica, muy pocas Relaciones que se encuentren en la 3FN no estn en FNBC. Este
tipo de tablas son aquellas en las que se dan las siguientes circunstancias:
Existen varias claves candidatas
Las claves candidatas son compuestas

Las claves candidatas se solapan, esto es, tienen por lo menos un atributo comn.
2B.18.1.- Teorema de Boyce-Codd
Sea una Relacin formada por los atributos A, B, C, D con claves candidatas compuestas
(A, B) y (B, C) tal que:
A C
Entonces la Relacin puede descomponerse en cualquiera de las dos siguientes maneras:
RELACIN1 (A, C)
RELACIN2 (B, C, D)
O bien:
RELACIN1 (A, C)
RELACIN2 (A, B, D)
2B.19.- DEPENDENCIAS MULTIVALUADAS
Dada una relacin con los atributos A, B, C se dice que se cumple en ella una dependencia
multivaluada
AB
Si y slo si el conjunto de valores correspondiente a un par dado (valor de A , valor de C)
en la Relacin depende slo del valor de A y es independiente del valor de C.
La dependencia multivaluada A B se cumple s y slo s tambin se cumple A C

2B.19.1.- Cuarta Forma Normal (4FN)


Una Relacin se encuentra en 4FN s y slo s:
Est en FNBC
No existen dependencias multivaluadas

2B.19.2.- Teorema de Fagin


Dada la relacin formada por los atributos A, B, C con las siguientes dependencias
multivaluadas:
AB
AC
____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 35 de 36

Bases de datos
1 DAI
_________________________________________________________________________________________________________

Entonces la relacin puede descomponerse en dos relaciones:


RELACIN1 (A, B)
RELACIN2 (A, C)

2B.20.- DEPENDENCIAS DE REUNIN


Una Dependencia de Reunin es una restriccin en una Relacin. Se dice que una Relacin
satisface la dependencia de reunin (X, Y, , Z) s y slo s la Relacin es igual a la reunin
de sus proyecciones segn X, Y, , Z . Donde X, Y, , Z son subconjuntos del conjunto de
atributos de la Relacin.

2B.20.1.- Quinta Forma Normal (5FN)


Una Relacin se encuentra en 5FN s y slo s toda dependencia de reunin en la Relacin es
una consecuencia de las claves candidatas, esto es, la relacin estar en 5FN si est en
4FN y no existen restricciones impuestas por el creador de la Base de Datos.

_______________________

____________________________________________________________________________________
UD2B Modelo lgico o relacional
Pgina 36 de 36

Potrebbero piacerti anche