Está en la página 1de 50

b

e
r
z
a
l
@
a
c
m
.
o
r
g
Diseo lgico Diseo lgico
Diseo de bases de datos relacionales Diseo de bases de datos relacionales


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Diseo lgico Diseo lgico
de bases de datos relacionales de bases de datos relacionales
El modelo relacional: El modelo relacional:
El concepto de relacin: El concepto de relacin: tuplas tuplas, atributos y dominios. , atributos y dominios.
Restricciones de integridad en el modelo relacional. Restricciones de integridad en el modelo relacional.
El proceso de diseo lgico en el modelo relacional. El proceso de diseo lgico en el modelo relacional.
Del modelo E/R al modelo relacional: Del modelo E/R al modelo relacional: Del modelo E/R al modelo relacional: Del modelo E/R al modelo relacional:
Entidades. Entidades.
Entidades dbiles. Entidades dbiles.
Relaciones. Relaciones.
Relaciones de especializacin / generalizacin. Relaciones de especializacin / generalizacin.
Fusin de tablas. Fusin de tablas.
Normalizacin. Normalizacin.
1 1


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Diseo lgico Diseo lgico
de bases de datos relacionales de bases de datos relacionales
ETAPA DE DISEO LGICO ETAPA DE DISEO LGICO
Objetivo: Objetivo: Creacin del esquema conceptual y de los Creacin del esquema conceptual y de los
esquemas externos de la base de datos en el modelo esquemas externos de la base de datos en el modelo
de datos elegido (p.ej. relacional), independientemente de datos elegido (p.ej. relacional), independientemente de datos elegido (p.ej. relacional), independientemente de datos elegido (p.ej. relacional), independientemente
del SGBD que se vaya a utilizar. del SGBD que se vaya a utilizar.
Tarea: Tarea: Transformar los esquemas obtenidos en el Transformar los esquemas obtenidos en el
diseo conceptual en un conjunto de estructuras diseo conceptual en un conjunto de estructuras
propias del modelo de datos elegido. propias del modelo de datos elegido.
Resultado: Resultado: Conjunto de estructuras propias del modelo Conjunto de estructuras propias del modelo
abstracto de datos (p.ej. relaciones). abstracto de datos (p.ej. relaciones).
2 2


b
e
r
z
a
l
@
a
c
m
.
o
r
g
El modelo de datos relacional organiza y representa El modelo de datos relacional organiza y representa
los datos en forma de tablas o relaciones: los datos en forma de tablas o relaciones:
Una base de datos relacional Una base de datos relacional
es una coleccin de relaciones [tablas], es una coleccin de relaciones [tablas],
cada una de las cuales tiene un nombre nico. cada una de las cuales tiene un nombre nico.
El modelo relacional El modelo relacional
cada una de las cuales tiene un nombre nico. cada una de las cuales tiene un nombre nico.
Representacin Representacin Representacin Representacin Modelo Modelo
lgica lgica fsica fsica relacional relacional
Tabla Tabla Archivo secuencial Archivo secuencial Relacin Relacin
Fila Fila Registro Registro Tupla Tupla
Columna Columna Campo Campo Atributo Atributo
3 3


b
e
r
z
a
l
@
a
c
m
.
o
r
g
El modelo relacional El modelo relacional
El concepto de relacin: El concepto de relacin:
Tuplas Tuplas, atributos y dominios , atributos y dominios
id_trabajador nombre tarifa_hr tipo_de_oficio id_supv
1235 F. Aguilera 12,50 Electricista 1311
1412 A. Calvo 13,75 Fontanero 1540
4 4
1412 A. Calvo 13,75 Fontanero 1540
2920 N. Marn 10,00 Carpintero null
3231 O. Pons 17,40 Albail null
1540 J.M. Medina 11,75 Fontanero null
1311 J.C. Cubero 15,50 Electricista null
3001 D. Snchez 8,20 Albail 3231


b
e
r
z
a
l
@
a
c
m
.
o
r
g
El modelo relacional El modelo relacional
El concepto de relacin: El concepto de relacin:
Tuplas Tuplas, atributos y dominios , atributos y dominios
Atributo Atributo ( (AA
ii
): ): Elemento susceptible de tomar valores Elemento susceptible de tomar valores
(cada una de las columnas de la tabla). (cada una de las columnas de la tabla). (cada una de las columnas de la tabla). (cada una de las columnas de la tabla).
Dominio Dominio (D (D
ii
): ): Conjunto de valores que puede tomar Conjunto de valores que puede tomar
un atributo (se considera finito). un atributo (se considera finito).
Tupla Tupla: : Cada uno de los elementos que contiene una Cada uno de los elementos que contiene una
instancia de la relacin (filas). instancia de la relacin (filas).
5 5


b
e
r
z
a
l
@
a
c
m
.
o
r
g
El modelo relacional El modelo relacional
El concepto de relacin El concepto de relacin
Relacin R( Relacin R(AA
ii
.. ..AA
n n
) )
Subconjunto del producto cartesiano D Subconjunto del producto cartesiano D
11
.. ..D D
nn
(esto es, una tabla). (esto es, una tabla). (esto es, una tabla). (esto es, una tabla).
En una relacin hay que distinguir dos aspectos: En una relacin hay que distinguir dos aspectos:
Esquema de la relacin Esquema de la relacin: Los atributos A : Los atributos A
11
.. ..AA
nn
p.ej. Trabajadores ( p.ej. Trabajadores (id_trabajador id_trabajador, nombre, , nombre, tarifa_hr tarifa_hr, , tipo_de_oficio tipo_de_oficio, , id_supv id_supv))
Instancia de la relacin Instancia de la relacin: El conjunto de : El conjunto de tuplas tuplas
{{(x (x
11
,x ,x
22
,..,x ,..,x
nn
))}} D D
11
D D
22
.. ..D D
nn
que la componen en que la componen en
cada momento. cada momento.
6 6


b
e
r
z
a
l
@
a
c
m
.
o
r
g
El modelo relacional El modelo relacional
El concepto de relacin El concepto de relacin
Relacin R( Relacin R(AA
ii
.. ..AA
n n
) )
Subconjunto del producto cartesiano D Subconjunto del producto cartesiano D
11
.. ..D D
nn
(esto es, una tabla). (esto es, una tabla). (esto es, una tabla). (esto es, una tabla).
Consecuencias de la definicin de relacin Consecuencias de la definicin de relacin
como conjunto de como conjunto de tuplas tuplas::
No existen No existen tuplas tuplas duplicadas duplicadas
(concepto de clave primaria). (concepto de clave primaria).
No existe orden en las No existe orden en las tuplas tuplas
(ni en los atributos). (ni en los atributos).
7 7


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Esquema de la base de datos Esquema de la base de datos
Una base de datos relacional es un conjunto finito de Una base de datos relacional es un conjunto finito de
relaciones junto con una serie de restricciones o reglas relaciones junto con una serie de restricciones o reglas
de integridad: de integridad:
El modelo relacional El modelo relacional
de integridad: de integridad:
Restriccin de integridad Restriccin de integridad: Condicin necesaria para : Condicin necesaria para
preservar la correccin semntica de la base de datos. preservar la correccin semntica de la base de datos.
Esquema de la base de datos Esquema de la base de datos: : Coleccin de Coleccin de
esquemas de relaciones junto con las restricciones esquemas de relaciones junto con las restricciones
de integridad que se definen sobre las relaciones. de integridad que se definen sobre las relaciones.
8 8


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Instancia de la base de datos Instancia de la base de datos
Instancia (o estado) de la base de datos Instancia (o estado) de la base de datos: :
Coleccin de instancias de relaciones que verifican las Coleccin de instancias de relaciones que verifican las
restricciones de integridad. restricciones de integridad.
El modelo relacional El modelo relacional
restricciones de integridad. restricciones de integridad.
Base de datos relacional Base de datos relacional: :
Instancia de la base de datos Instancia de la base de datos
junto con su esquema. junto con su esquema.
9 9


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Restricciones de integridad: Restricciones de integridad:
Asociadas a las Asociadas a las tuplas tuplas de una relacin de una relacin
p.ej. p.ej. 0 edad 120 0 edad 120
impuestos sueldo impuestos sueldo
El modelo relacional El modelo relacional
impuestos sueldo impuestos sueldo
En ocasiones, no se conoce el valor de un atributo para En ocasiones, no se conoce el valor de un atributo para
una determinada una determinada tupla tupla. En esos casos, a ese atributo . En esos casos, a ese atributo
de esa de esa tupla tupla se le asigna un se le asigna un valor nulo ( valor nulo (null null) ), que , que
indica que el valor de ese atributo es desconocido o, indica que el valor de ese atributo es desconocido o,
simplemente, que ese atributo no es aplicable a esa simplemente, que ese atributo no es aplicable a esa
tupla tupla..
10 10


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Restricciones de integridad: Restricciones de integridad:
Asociadas a las relaciones de la base de datos Asociadas a las relaciones de la base de datos
Clave primaria: Clave primaria:
Conjunto de atributos seleccionados para identificar Conjunto de atributos seleccionados para identificar
El modelo relacional El modelo relacional
Conjunto de atributos seleccionados para identificar Conjunto de atributos seleccionados para identificar
unvocamente a las unvocamente a las tuplas tuplas de una relacin. de una relacin.
Integridad de entidad: Integridad de entidad:
Los atributos de la clave primaria no pueden Los atributos de la clave primaria no pueden
tomar valores nulos, ya que la clave primaria tomar valores nulos, ya que la clave primaria
debe permitirnos identificar unvocamente debe permitirnos identificar unvocamente
cada cada tupla tupla de la relacin. de la relacin.
11 11


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Restricciones de integridad: Restricciones de integridad:
Asociadas a las relaciones de la base de datos Asociadas a las relaciones de la base de datos
Clave externa: Clave externa: Conjunto de atributos de una relacin Conjunto de atributos de una relacin
cuyos valores en las cuyos valores en las tuplas tuplas deben coincidir con valores deben coincidir con valores
El modelo relacional El modelo relacional
cuyos valores en las cuyos valores en las tuplas tuplas deben coincidir con valores deben coincidir con valores
de la clave primaria de las de la clave primaria de las tuplas tuplas de otra relacin. de otra relacin.
Integridad referencial: Integridad referencial:
Todos los valores no nulos de una clave externa Todos los valores no nulos de una clave externa
referencian valores reales de la clave referenciada. referencian valores reales de la clave referenciada.
12 12


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Restricciones de integridad: Restricciones de integridad:
Asociadas a las relaciones de la base de datos Asociadas a las relaciones de la base de datos
La integridad referencial mantiene La integridad referencial mantiene
las conexiones en las bases de datos relacionales: las conexiones en las bases de datos relacionales:
El modelo relacional El modelo relacional
las conexiones en las bases de datos relacionales: las conexiones en las bases de datos relacionales:
imparte.NRP imparte.NRP profesor.NRP profesor.NRP
El profesor que imparte una asignatura El profesor que imparte una asignatura
debe existir en la tabla de profesores. debe existir en la tabla de profesores.
cuenta.sucursal cuenta.sucursal sucursal.nmero sucursal.nmero
Una cuenta tiene que pertenecer Una cuenta tiene que pertenecer
a una sucursal existente. a una sucursal existente.
13 13


b
e
r
z
a
l
@
a
c
m
.
o
r
g
El proceso de diseo lgico El proceso de diseo lgico
en el modelo relacional en el modelo relacional
Transformacin de un diagrama E/R en un esquema relacional: Transformacin de un diagrama E/R en un esquema relacional:
1. 1. Se transforman en tablas todos los tipos de entidades y Se transforman en tablas todos los tipos de entidades y
relaciones que aparecen en el diagrama E/R. relaciones que aparecen en el diagrama E/R.
2. 2. Se seleccionan las claves primarias para cada una de las Se seleccionan las claves primarias para cada una de las
tablas de nuestro esquema lgico. tablas de nuestro esquema lgico. tablas de nuestro esquema lgico. tablas de nuestro esquema lgico.
3. 3. Fusin de tablas Fusin de tablas: Se combinan aquellas tablas que : Se combinan aquellas tablas que
compartan su clave primaria. compartan su clave primaria.
4. 4. Normalizacin Normalizacin: Se normaliza el esquema resultante : Se normaliza el esquema resultante
(al menos, hasta BCNF). (al menos, hasta BCNF).
5. 5. Se definen todas las restricciones de integridad Se definen todas las restricciones de integridad
que sean aplicables al esquema obtenido. que sean aplicables al esquema obtenido.
14 14


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Del modelo E/R al modelo relacional Del modelo E/R al modelo relacional
Entidades Entidades
Cada tipo de entidad da lugar Cada tipo de entidad da lugar
a una tabla en la base de datos. a una tabla en la base de datos.
Atributos Atributos: :
Los atributos del tipo de entidad. Los atributos del tipo de entidad.
Clave primaria Clave primaria::
Una de las claves candidatas Una de las claves candidatas
del conjunto de entidades. del conjunto de entidades.
15 15


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Del modelo E/R al modelo relacional Del modelo E/R al modelo relacional
Entidades Entidades
Atributos compuestos Atributos compuestos
Se incluyen en la relacin todos los atributos simples Se incluyen en la relacin todos los atributos simples
(atmicos) que forman parte del atributo compuesto. (atmicos) que forman parte del atributo compuesto. (atmicos) que forman parte del atributo compuesto. (atmicos) que forman parte del atributo compuesto.
Atributos derivados Atributos derivados
No se almacenarn en la base de datos, por lo que No se almacenarn en la base de datos, por lo que
no no se incluyen como atributos de las relaciones. se incluyen como atributos de las relaciones.
16 16


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Del modelo E/R al modelo relacional Del modelo E/R al modelo relacional
Entidades Entidades
Atributos Atributos multivaluados multivaluados
Se almacenan en una tabla auxiliar que incluya las Se almacenan en una tabla auxiliar que incluya las
columnas necesarias para almacenar la clave primaria columnas necesarias para almacenar la clave primaria
del conjunto de entidades ms aqullas que se del conjunto de entidades ms aqullas que se del conjunto de entidades ms aqullas que se del conjunto de entidades ms aqullas que se
necesiten para representar un valor del atributo MV. necesiten para representar un valor del atributo MV.
Salvo que el atributo MV sea una clave alternativa del Salvo que el atributo MV sea una clave alternativa del
conjunto de entidades, todas las columnas de la tabla conjunto de entidades, todas las columnas de la tabla
auxiliar formarn parte de su clave primaria. auxiliar formarn parte de su clave primaria.
La tabla auxiliar incluir una clave externa que haga La tabla auxiliar incluir una clave externa que haga
referencia a la tabla correspondiente al conjunto de referencia a la tabla correspondiente al conjunto de
entidades que incluye el atributo entidades que incluye el atributo multivaluado multivaluado. .
17 17


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Del modelo E/R al modelo relacional Del modelo E/R al modelo relacional
Entidades dbiles Entidades dbiles
Atributos Atributos: :
Adems de los atributos propios de la entidad dbil, Adems de los atributos propios de la entidad dbil,
los atributos pertenecientes a la clave primaria de la los atributos pertenecientes a la clave primaria de la los atributos pertenecientes a la clave primaria de la los atributos pertenecientes a la clave primaria de la
entidad fuerte de la que depende existencialmente la entidad fuerte de la que depende existencialmente la
entidad dbil. entidad dbil.
Apunte ( Apunte (CCC CCC, nmero, descripcin, importe) , nmero, descripcin, importe)
18 18


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Del modelo E/R al modelo relacional Del modelo E/R al modelo relacional
Entidades dbiles Entidades dbiles
Clave primaria Clave primaria::
La clave primaria de la entidad fuerte La clave primaria de la entidad fuerte ms un conjunto ms un conjunto
de atributos propio de la entidad dbil (discriminante). de atributos propio de la entidad dbil (discriminante). de atributos propio de la entidad dbil (discriminante). de atributos propio de la entidad dbil (discriminante).
Clave primaria de la entidad dbil Clave primaria de la entidad dbil
= =
Clave primaria de la entidad fuerte Clave primaria de la entidad fuerte
+ +
Discriminante Discriminante
Apunte ( Apunte (CCC, nmero CCC, nmero, descripcin, importe) , descripcin, importe)
19 19


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Del modelo E/R al modelo relacional Del modelo E/R al modelo relacional
Entidades dbiles Entidades dbiles
Clave externa Clave externa: :
Una, haciendo referencia a la entidad fuerte de la que Una, haciendo referencia a la entidad fuerte de la que
depende existencialmente la entidad dbil. depende existencialmente la entidad dbil. depende existencialmente la entidad dbil. depende existencialmente la entidad dbil.
Apunte ( Apunte (CCC CCC, nmero , nmero, descripcin, importe) , descripcin, importe)
Cuenta ( Cuenta (CCC CCC, ) , )
20 20


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Del modelo E/R al modelo relacional Del modelo E/R al modelo relacional
Relaciones Relaciones
Cada tipo de relacin da lugar Cada tipo de relacin da lugar
a una tabla en la base de datos. a una tabla en la base de datos.
Atributos: Atributos:
Los atributos de las claves primarias de las entidades Los atributos de las claves primarias de las entidades
que intervienen en la relacin ms los atributos propios que intervienen en la relacin ms los atributos propios
de la relacin. de la relacin.
21 21


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Del modelo E/R al modelo relacional Del modelo E/R al modelo relacional
Relaciones Relaciones
Clave primaria: Clave primaria:
Si la relacin no tiene atributos propios: Si la relacin no tiene atributos propios:
Relacin muchos a muchos Relacin muchos a muchos: La unin de las claves : La unin de las claves Relacin muchos a muchos Relacin muchos a muchos: La unin de las claves : La unin de las claves
de los conjuntos de entidades que intervienen. de los conjuntos de entidades que intervienen.
Relacin uno a muchos Relacin uno a muchos: La clave correspondiente al : La clave correspondiente al
conjunto de entidades que participa en la relacin con conjunto de entidades que participa en la relacin con
cardinalidad cardinalidad muchos. muchos.
Relacin uno a uno Relacin uno a uno: Una de las claves de las : Una de las claves de las
entidades intervinientes en la relacin (cualquiera). entidades intervinientes en la relacin (cualquiera).
22 22


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Del modelo E/R al modelo relacional Del modelo E/R al modelo relacional
Relaciones Relaciones
Clave primaria: Clave primaria:
Si hay atributos propios de la relacin: Si hay atributos propios de la relacin:
Los atributos correspondientes al tipo de relacin, Los atributos correspondientes al tipo de relacin, Los atributos correspondientes al tipo de relacin, Los atributos correspondientes al tipo de relacin,
a los que tal vez aadiremos algunos atributos propios a los que tal vez aadiremos algunos atributos propios
de la relacin, dependiendo de su semntica. de la relacin, dependiendo de su semntica.
Claves externas: Claves externas:
Una por cada una de las claves primarias de los Una por cada una de las claves primarias de los
conjuntos de entidades que intervienen en la relacin. conjuntos de entidades que intervienen en la relacin.
23 23


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Del modelo E/R al modelo relacional Del modelo E/R al modelo relacional
Relaciones Relaciones
S SOBRE OBRE LA LA RELACIN RELACIN ENTRE ENTRE ENTIDADES ENTIDADES DBILES DBILES Y Y FUERTES FUERTES
Las relaciones entre entidades dbiles y fuertes no hay Las relaciones entre entidades dbiles y fuertes no hay
que pasarlas a tablas porque la relacin se recoge como que pasarlas a tablas porque la relacin se recoge como que pasarlas a tablas porque la relacin se recoge como que pasarlas a tablas porque la relacin se recoge como
parte de la clave primaria de la entidad dbil (la parte parte de la clave primaria de la entidad dbil (la parte
correspondiente a la clave primaria de la entidad fuerte correspondiente a la clave primaria de la entidad fuerte
es una clave externa que apunta a la tabla derivada de es una clave externa que apunta a la tabla derivada de
la entidad fuerte). la entidad fuerte).
24 24


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Del modelo E/R al modelo relacional Del modelo E/R al modelo relacional
Relaciones n Relaciones n- -arias arias
Atributos: Atributos: Los atributos de las claves primarias de los Los atributos de las claves primarias de los
conjuntos de entidades que intervienen en la relacin conjuntos de entidades que intervienen en la relacin
ms los atributos propios de la relacin. ms los atributos propios de la relacin.
Clave primaria: Clave primaria: Estar formada por la unin de las claves Estar formada por la unin de las claves
primarias correspondientes a todos aquellos conjuntos primarias correspondientes a todos aquellos conjuntos
de entidades que intervengan en la relacin con de entidades que intervengan en la relacin con
cardinalidad cardinalidad N (ms, opcionalmente, alguno[s] de los N (ms, opcionalmente, alguno[s] de los
atributos propios de la relacin). atributos propios de la relacin).
Claves externas: Claves externas: Una por cada uno de los conjuntos de Una por cada uno de los conjuntos de
entidades que intervienen en la relacin. entidades que intervienen en la relacin.
25 25


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Del modelo E/R al modelo relacional Del modelo E/R al modelo relacional
Relaciones de generalizacin y especializacin Relaciones de generalizacin y especializacin
Estrategia A: Una tabla por cada conjunto de entidades Estrategia A: Una tabla por cada conjunto de entidades
Las particularizaciones heredan la clave primaria del Las particularizaciones heredan la clave primaria del
conjunto de entidades de nivel superior (la cual ser, en conjunto de entidades de nivel superior (la cual ser, en conjunto de entidades de nivel superior (la cual ser, en conjunto de entidades de nivel superior (la cual ser, en
las tablas correspondientes a los subtipos, una clave las tablas correspondientes a los subtipos, una clave
externa que referencia a la tabla derivada del externa que referencia a la tabla derivada del supertipo supertipo). ).
Ejemplo: Ejemplo:
Empleado Empleado (NRP, nombre, direccin ) (NRP, nombre, direccin )
Profesor Profesor (NRP, departamento, categora) (NRP, departamento, categora)
PAS PAS (NRP, grupo, nivel) (NRP, grupo, nivel)
26 26


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Del modelo E/R al modelo relacional Del modelo E/R al modelo relacional
Relaciones de generalizacin y especializacin Relaciones de generalizacin y especializacin
Estrategia B: Una tabla por cada caso particular Estrategia B: Una tabla por cada caso particular
Las particularizaciones heredan todos Las particularizaciones heredan todos
los atributos de la entidad general. los atributos de la entidad general. los atributos de la entidad general. los atributos de la entidad general.
Ejemplo: Ejemplo:
Profesor Profesor (NRP, nombre, direccin departamento, categora) (NRP, nombre, direccin departamento, categora)
PAS PAS (NRP, nombre, direccin grupo, nivel) (NRP, nombre, direccin grupo, nivel)
27 27


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Del modelo E/R al modelo relacional Del modelo E/R al modelo relacional
Relaciones de generalizacin y especializacin Relaciones de generalizacin y especializacin
Estrategia C: Una tabla para toda la jerarqua Estrategia C: Una tabla para toda la jerarqua
En este caso, se suele aadir una columna artificial En este caso, se suele aadir una columna artificial En este caso, se suele aadir una columna artificial En este caso, se suele aadir una columna artificial
(discriminante) que indique el tipo de la entidad (discriminante) que indique el tipo de la entidad
representada por cada representada por cada tupla tupla de la tabla de la tabla
(para permitir el mantenimiento de las (para permitir el mantenimiento de las
restricciones de integridad aplicables). restricciones de integridad aplicables).
Ejemplo: Ejemplo:
Empleado (NRP, nombre, direccin Empleado (NRP, nombre, direccin
departamento, categora, grupo, nivel) departamento, categora, grupo, nivel)
28 28


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Del modelo E/R al modelo relacional Del modelo E/R al modelo relacional
Relaciones de generalizacin y especializacin Relaciones de generalizacin y especializacin
Formalmente, la primera estrategia es la correcta. Formalmente, la primera estrategia es la correcta.
Las otras dos estrategias slo las emplearemos cuando, Las otras dos estrategias slo las emplearemos cuando, Las otras dos estrategias slo las emplearemos cuando, Las otras dos estrategias slo las emplearemos cuando,
por cuestiones de eficiencia, queramos reducir el nmero por cuestiones de eficiencia, queramos reducir el nmero
de reuniones necesarias para realizar determinadas de reuniones necesarias para realizar determinadas
consultas (motivo por el que la decisin de utilizar un consultas (motivo por el que la decisin de utilizar un
esquema u otro la pospondremos usualmente a la fase esquema u otro la pospondremos usualmente a la fase
de diseo fsico de la base de datos). de diseo fsico de la base de datos).
29 29


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Del modelo E/R al modelo relacional Del modelo E/R al modelo relacional
Fusin de tablas Fusin de tablas
Se pueden combinar en una sola Se pueden combinar en una sola
todas las tablas que compartan su clave primaria. todas las tablas que compartan su clave primaria.
p.ej. p.ej.
Relaciones uno a muchos Relaciones uno a muchos
Las tablas derivadas de las relaciones muchos a uno se Las tablas derivadas de las relaciones muchos a uno se
fusionan con las derivadas de las entidades que fusionan con las derivadas de las entidades que
participan en la relacin con participan en la relacin con cardinalidad cardinalidad N. N.
30 30


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Fusin de tablas Fusin de tablas
Relaciones uno a uno Relaciones uno a uno
Se pueden combinar las tablas derivadas de los dos conjuntos de entidades Se pueden combinar las tablas derivadas de los dos conjuntos de entidades
en una sola o mantener tablas separadas: en una sola o mantener tablas separadas:
Si la relacin es obligatoria en ambos sentidos (las entidades involucradas Si la relacin es obligatoria en ambos sentidos (las entidades involucradas
Del modelo E/R al modelo relacional Del modelo E/R al modelo relacional
Si la relacin es obligatoria en ambos sentidos (las entidades involucradas Si la relacin es obligatoria en ambos sentidos (las entidades involucradas
siempre aparecen conjuntamente), se pueden combinar las tablas derivadas siempre aparecen conjuntamente), se pueden combinar las tablas derivadas
de los dos conjuntos de entidades, manteniendo como clave primaria la de los dos conjuntos de entidades, manteniendo como clave primaria la
clave primaria de uno de los conjuntos de entidades y como clave clave primaria de uno de los conjuntos de entidades y como clave
alternativa la clave primaria del otro conjunto de entidades. alternativa la clave primaria del otro conjunto de entidades.
En cualquier otro caso, siempre se mantendrn tablas separadas para los En cualquier otro caso, siempre se mantendrn tablas separadas para los
dos conjuntos de entidades, haciendo que la tabla de una de ellas absorba dos conjuntos de entidades, haciendo que la tabla de una de ellas absorba
la tabla que se derivara de la relacin. Si la participacin de una de las la tabla que se derivara de la relacin. Si la participacin de una de las
entidades es obligatoria, se suele elegir su tabla para fusionarla con entidades es obligatoria, se suele elegir su tabla para fusionarla con
la tabla derivada de la relacin. la tabla derivada de la relacin.
31 31


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Fusin de tablas Fusin de tablas
Relaciones de especializacin y generalizacin Relaciones de especializacin y generalizacin
A la hora de representar jerarquas de especializacin/generalizacin, A la hora de representar jerarquas de especializacin/generalizacin,
a veces fusionaremos las tablas correspondientes a distintos conjuntos de a veces fusionaremos las tablas correspondientes a distintos conjuntos de
entidades. entidades.
Del modelo E/R al modelo relacional Del modelo E/R al modelo relacional
entidades. entidades.
Se ha de llegar a un compromiso entre el coste de realizar consultas que Se ha de llegar a un compromiso entre el coste de realizar consultas que
involucren reuniones de distintas tablas (cuando tenemos tablas involucren reuniones de distintas tablas (cuando tenemos tablas
independientes) y el coste que supone desaprovechar espacio de independientes) y el coste que supone desaprovechar espacio de
almacenamiento y tener que mantener manualmente determinadas almacenamiento y tener que mantener manualmente determinadas
restricciones de integridad (cuando se combinan varias tablas en una sola). restricciones de integridad (cuando se combinan varias tablas en una sola).
32 32


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Normalizacin Normalizacin
La normalizacin permite obtener un conjunto La normalizacin permite obtener un conjunto
adecuado de relaciones de tal forma que: adecuado de relaciones de tal forma que:
El esquema de la base de datos incluya el mnimo El esquema de la base de datos incluya el mnimo
nmero de atributos necesarios para dar soporte a los nmero de atributos necesarios para dar soporte a los nmero de atributos necesarios para dar soporte a los nmero de atributos necesarios para dar soporte a los
requerimientos del sistema. requerimientos del sistema.
Resulte ms fcil acceder a la base de datos y, sobre Resulte ms fcil acceder a la base de datos y, sobre
todo, mantener los datos de la base de datos todo, mantener los datos de la base de datos
((redundancia mnima redundancia mnima: salvo los atributos que : salvo los atributos que
forman parte de claves externas, los dems se forman parte de claves externas, los dems se
representarn una nica vez en la base de datos). representarn una nica vez en la base de datos).
33 33


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Normalizacin Normalizacin
En una base de datos normalizada: En una base de datos normalizada:
Las actualizaciones se consiguen realizar con un Las actualizaciones se consiguen realizar con un
nmero mnimo de operaciones nmero mnimo de operaciones nmero mnimo de operaciones nmero mnimo de operaciones
(mejorando la eficiencia de la BD y reduciendo la (mejorando la eficiencia de la BD y reduciendo la
posibilidad de que aparezcan inconsistencias). posibilidad de que aparezcan inconsistencias).
Se reduce al mnimo el espacio de almacenamiento Se reduce al mnimo el espacio de almacenamiento
necesario para almacenar los datos de la BD necesario para almacenar los datos de la BD
(reduciendo los costes de operacin de la BD). (reduciendo los costes de operacin de la BD).
34 34


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Normalizacin Normalizacin
Las relaciones que almacenan datos redundantes Las relaciones que almacenan datos redundantes
presentan presentan anomalas de actualizacin anomalas de actualizacin
(la insercin, eliminacin o modificacin de los datos (la insercin, eliminacin o modificacin de los datos
puede provocar la aparicin de inconsistencias), puede provocar la aparicin de inconsistencias),
por lo que resulta adecuado descomponerlas: por lo que resulta adecuado descomponerlas:
Sin prdidas Sin prdidas (de forma que la relacin original se (de forma que la relacin original se
pueda reconstruir a partir de las relaciones en las que pueda reconstruir a partir de las relaciones en las que
la hayamos descompuesto). la hayamos descompuesto).
Preservando las dependencias Preservando las dependencias (para que podamos (para que podamos
mantener las restricciones de integridad de la relacin mantener las restricciones de integridad de la relacin
original introduciendo restricciones en las relaciones original introduciendo restricciones en las relaciones
provenientes de la descomposicin de la relacin provenientes de la descomposicin de la relacin
original). original).
35 35


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Normalizacin Normalizacin
La descomposicin sin prdidas es indispensable, La descomposicin sin prdidas es indispensable,
la descomposicin que preserva las dependencias la descomposicin que preserva las dependencias
no siempre es posible. no siempre es posible. no siempre es posible. no siempre es posible.
A veces, el diseador tiene que elegir entre A veces, el diseador tiene que elegir entre
no normalizar, o bien, no normalizar, o bien,
perder dependencias. perder dependencias.
36 36


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Normalizacin Normalizacin
Dependencias funcionales Dependencias funcionales
Describen relaciones entre los atributos de una relacin: Describen relaciones entre los atributos de una relacin:
B depende funcionalmente de A (A B depende funcionalmente de A (AB) B)
cuando cada valor de A en una relacin R cuando cada valor de A en una relacin R
aparece siempre asociado al mismo valor de B en R. aparece siempre asociado al mismo valor de B en R.
37 37


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Normalizacin Normalizacin
Dependencias funcionales Dependencias funcionales
Formalmente: Formalmente:
Sea un esquema R, sean Sea un esquema R, sean y y subconjuntos de subconjuntos de

Sea un esquema R, sean Sea un esquema R, sean y y subconjuntos de subconjuntos de
atributos, atributos, RR y y RR. Decimos que . Decimos que determina determina
funcionalmente a funcionalmente a , o que , o que depende funcionalmente depende funcionalmente
de de , o que , o que , si y slo si se verifica, que para toda , si y slo si se verifica, que para toda
relacin relacin r r instancia de ese esquema: instancia de ese esquema:
t t
1 1
,t ,t
2 2
r ; t r ; t
1 1
[ [ ]=t ]=t
2 2
[ [ ] ] t t
1 1
[ [ ]=t ]=t
2 2
[ [ ] ]
38 38


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Normalizacin Normalizacin
Identificacin de dependencias funcionales Identificacin de dependencias funcionales
La identificacin de las dependencias funcionales La identificacin de las dependencias funcionales
existentes es relativamente fcil si se conoce el existentes es relativamente fcil si se conoce el
significado de cada atributo y las relaciones existentes significado de cada atributo y las relaciones existentes significado de cada atributo y las relaciones existentes significado de cada atributo y las relaciones existentes
entre ellos. entre ellos.
Toda la informacin necesaria debera figurar en el Toda la informacin necesaria debera figurar en el
documento de especificacin de requerimientos, bien documento de especificacin de requerimientos, bien
en la parte correspondiente a los requerimientos en la parte correspondiente a los requerimientos
funcionales o bien en el diccionario de datos que ha funcionales o bien en el diccionario de datos que ha
de acompaar al modelo semntico de la base de de acompaar al modelo semntico de la base de
datos. datos. 39 39


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Normalizacin Normalizacin
La identificacin de dependencias funcionales sirve para: La identificacin de dependencias funcionales sirve para:
Especificar las Especificar las restricciones de integridad restricciones de integridad
asociadas a una relacin (claves candidatas: asociadas a una relacin (claves candidatas:
clave primaria y claves alternativas). clave primaria y claves alternativas). clave primaria y claves alternativas). clave primaria y claves alternativas).
Detectar posibles Detectar posibles anomalas de actualizacin anomalas de actualizacin y y
evitarlas, ya sea reorganizando el esquema de la base evitarlas, ya sea reorganizando el esquema de la base
de datos (recomendado) o tomando las medidas de datos (recomendado) o tomando las medidas
oportunas al implementar las aplicaciones que oportunas al implementar las aplicaciones que
funcionen sobre la base de datos (trabajo adicional funcionen sobre la base de datos (trabajo adicional
que habr que justificar razonadamente). que habr que justificar razonadamente).
40 40


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Normalizacin Normalizacin
El proceso de normalizacin El proceso de normalizacin
La normalizacin consiste en analizar el conjunto de La normalizacin consiste en analizar el conjunto de
relaciones obtenido a partir del diagrama E/R teniendo relaciones obtenido a partir del diagrama E/R teniendo
en cuenta las claves candidatas y las dependencias en cuenta las claves candidatas y las dependencias en cuenta las claves candidatas y las dependencias en cuenta las claves candidatas y las dependencias
existentes entre los atributos de cada relacin. existentes entre los atributos de cada relacin.
La normalizacin se suele descomponer en una serie La normalizacin se suele descomponer en una serie
de pasos, cada uno de los cuales corresponde a una de pasos, cada uno de los cuales corresponde a una
forma normal forma normal especfica de propiedades conocidas. especfica de propiedades conocidas.
41 41


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Normalizacin: 1NF Normalizacin: 1NF
1NF: Primera Forma Normal 1NF: Primera Forma Normal
Todos los atributos tienen dominios atmicos. Todos los atributos tienen dominios atmicos.
Para obtener una relacin en 1NF: Para obtener una relacin en 1NF:
Se eliminan los atributos compuestos y Se eliminan los atributos compuestos y multivaluados multivaluados.. Se eliminan los atributos compuestos y Se eliminan los atributos compuestos y multivaluados multivaluados..
42 42


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Normalizacin: 2NF Normalizacin: 2NF
2NF: Segunda Forma Normal 2NF: Segunda Forma Normal
Todos los atributos no primos (los que no forman Todos los atributos no primos (los que no forman
parte de claves candidatas) dependen funcionalmente parte de claves candidatas) dependen funcionalmente
de las claves candidatas de forma completa. de las claves candidatas de forma completa.
Una dependencia funcional es completa Una dependencia funcional es completa Una dependencia funcional es completa Una dependencia funcional es completa
cuando el determinante no se puede simplificar. cuando el determinante no se puede simplificar.
Para obtener una relacin en 2NF: Para obtener una relacin en 2NF:
Si existe una dependencia funcional incompleta Si existe una dependencia funcional incompleta CK CK
(esto es, (esto es, con con CK CK, siendo , siendo CK CK una clave una clave
candidata de la relacin), candidata de la relacin), se traslada a una nueva se traslada a una nueva
relacin junto con el determinante relacin junto con el determinante y eliminamos y eliminamos
de la relacin original. de la relacin original.
43 43


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Normalizacin: 3NF Normalizacin: 3NF
3NF: Tercera Forma Normal 3NF: Tercera Forma Normal
Ningn atributo no primo depende transitivamente de Ningn atributo no primo depende transitivamente de
ninguna clave candidata. ninguna clave candidata.
Si A Si AB y B B y BC, entonces C depende C, entonces C depende
transitivamente de A transitivamente de A aa travs de B (esto es, A travs de B (esto es, AC). C). transitivamente de A transitivamente de A aa travs de B (esto es, A travs de B (esto es, AC). C).
Esta dependencia transitiva puede causar Esta dependencia transitiva puede causar
anomalas de actualizacin cuando B no es una anomalas de actualizacin cuando B no es una
clave candidata de la relacin. clave candidata de la relacin.
Para obtener una relacin en 3NF: Para obtener una relacin en 3NF:
Se eliminan las dependencias transitivas problemticas Se eliminan las dependencias transitivas problemticas
trasladndolas a una nueva relacin. trasladndolas a una nueva relacin.
44 44


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Normalizacin: BCNF Normalizacin: BCNF
La definicin original de La definicin original de Codd Codd para la 3NF no produce para la 3NF no produce
diseos satisfactorios si hay varias claves candidatas y diseos satisfactorios si hay varias claves candidatas y
stas se solapan: stas se solapan:
BCNF: Forma Normal de BCNF: Forma Normal de Boyce Boyce y y Codd Codd BCNF: Forma Normal de BCNF: Forma Normal de Boyce Boyce y y Codd Codd
Todo determinante es una clave candidata. Todo determinante es una clave candidata.
Toda relacin en BCNF est en 3NF. Toda relacin en BCNF est en 3NF.
Diferencia entre 3NF y BCNF: Diferencia entre 3NF y BCNF:
Dada una dependencia funcional A Dada una dependencia funcional AB, 3NF la permite B, 3NF la permite
en una relacin si B es un atributo primo y A no es en una relacin si B es un atributo primo y A no es
una clave candidata, mientras que BCNF requiere una clave candidata, mientras que BCNF requiere
que A sea una clave candidata que A sea una clave candidata. .
45 45


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Normalizacin: 4NF Normalizacin: 4NF
Otros tipos de dependencias, distintas a las Otros tipos de dependencias, distintas a las
dependencias funcionales, tambin pueden introducir dependencias funcionales, tambin pueden introducir
redundancia en los datos almacenados en una relacin: redundancia en los datos almacenados en una relacin:
4NF: Cuarta Forma Normal 4NF: Cuarta Forma Normal 4NF: Cuarta Forma Normal 4NF: Cuarta Forma Normal
Como consecuencia de la 1NF, pueden aparecer Como consecuencia de la 1NF, pueden aparecer
dependencias dependencias multivaluadas multivaluadas que habr que eliminar. que habr que eliminar.
Para que una relacin est en 4NF, todo determinante Para que una relacin est en 4NF, todo determinante
de una dependencia de una dependencia multivaluada multivaluada debe ser una clave debe ser una clave
candidata (y, por tanto, una dependencia funcional). candidata (y, por tanto, una dependencia funcional).
46 46


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Normalizacin: 5NF Normalizacin: 5NF
5NF: Quinta Forma Normal 5NF: Quinta Forma Normal
Cuando una relacin se descompone en ms de dos Cuando una relacin se descompone en ms de dos
relaciones (porque no se pueda encontrar una relaciones (porque no se pueda encontrar una
descomposicin sin prdidas en dos proyecciones), descomposicin sin prdidas en dos proyecciones), descomposicin sin prdidas en dos proyecciones), descomposicin sin prdidas en dos proyecciones),
se ha de cumplir un requisito para que la se ha de cumplir un requisito para que la
descomposicin sea sin prdidas: descomposicin sea sin prdidas:
toda dependencia de reunin toda dependencia de reunin
debe ser consecuencia de las claves candidatas. debe ser consecuencia de las claves candidatas.
47 47


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Normalizacin Normalizacin
Cuando se decida no normalizar tras haber encontrado Cuando se decida no normalizar tras haber encontrado
una dependencia entre los atributos de una relacin, una dependencia entre los atributos de una relacin,
se ha de justificar se ha de justificar el porqu el porqu..
p.ej. p.ej.
CP CP Municipio Municipio en una direccin, pero tal vez no en una direccin, pero tal vez no
nos interese tener que mantener una tabla aparte con nos interese tener que mantener una tabla aparte con
todos los municipios de Espaa y sus cdigos postales. todos los municipios de Espaa y sus cdigos postales.
48 48


b
e
r
z
a
l
@
a
c
m
.
o
r
g
Bibliografa Bibliografa
C.J. Date: C.J. Date:
Introduccin a los sistemas de bases de datos. Introduccin a los sistemas de bases de datos.
Prentice Prentice Hall, 2001 [7 edicin]. ISBN 968 Hall, 2001 [7 edicin]. ISBN 968- -444 444- -419 419- -2. 2.
Ramez Ramez A. A. Elmasri Elmasri & & Shamkant Shamkant B. B. Navathe Navathe: :
Fundamentos de Sistemas de Bases de Datos. Fundamentos de Sistemas de Bases de Datos.
Addison Addison- -Wesley Wesley, 2007 [5 edicin]. ISBN 84 , 2007 [5 edicin]. ISBN 84- -782 782- -9085 9085- -0. 0. Addison Addison- -Wesley Wesley, 2007 [5 edicin]. ISBN 84 , 2007 [5 edicin]. ISBN 84- -782 782- -9085 9085- -0. 0.
Thomas M. Connolly & Carolyn E. Thomas M. Connolly & Carolyn E. Begg Begg::
Sistemas Sistemas de Bases de de Bases de Datos Datos
Addison Addison- -Wesley, 2005 [4 Wesley, 2005 [4 edicin edicin]. ISBN 84 ]. ISBN 84- -782 782- -9075 9075- -3. 3.
Henry F. Henry F. Korth Korth, Abraham , Abraham Silberschatz Silberschatz & S. & S. Sudarshan Sudarshan: :
Fundamentos de Bases de Datos. Fundamentos de Bases de Datos.
McGraw McGraw- -Hill, 2006 [5 edicin]. ISBN 84 Hill, 2006 [5 edicin]. ISBN 84- -481 481- -4644 4644- -1. 1.
Olga Pons, Nicols Marn, Juan Miguel Medina, Silvia Olga Pons, Nicols Marn, Juan Miguel Medina, Silvia Acid Acid &&
M Amparo Vila: Introduccin a las Bases de Datos: El modelo M Amparo Vila: Introduccin a las Bases de Datos: El modelo
relacional. Paraninfo, 2005. ISBN 8497323963 relacional. Paraninfo, 2005. ISBN 8497323963
49 49

También podría gustarte