Académique Documents
Professionnel Documents
Culture Documents
APUNTES
UNIDAD 5
NORMALIZACION DE ESQUEMAS RELACIONALES
-- 1
SISTEMAS GESTORES DE BASE DE DATOS. APUNTES
Anomalías de modificación, ya que cambiar la dirección de un empleado obliga a
modificar todas las tuplas que corresponden a dicho empleado, y viceversa, si
cambiamos el nombre de un proyecto habría que cambiarlo en tantas tuplas como
empleados participen en dicho proyecto.
Anomalías de borrado, ya que el borrado de un proyecto obliga a borrar varias
tuplas, tantas como participantes tenga ese proyecto y, viceversa, el borrado de un
empleado nos lleva a borrar tantas tuplas como proyectos en los que participa .
Vemos, por tanto, que la actualización (alta, baja o modificación) de un solo empleado o
de un solo proyecto nos puede obligar a actualizar más de una tupla, dejándose la
integridad de la base de datos en manos del usuario. Al riesgo de la posible pérdida de
integridad, hay que añadir la falta de eficiencia asociada a estas múltiples
actualizaciones.
Esta relación presenta todos estos problemas debido a que atenta contra un principio básico
en todo diseño
En este caso, en relaciones distintas, con lo que se habrían evitado redundancias y, por
tanto, los problemas que acabamos de describir.
-- 2
SISTEMAS GESTORES DE BASE DE DATOS. APUNTES
El proceso de normalización se trata las dependencias que existen entre los atributos de
la relación.
Dependencias funcionales
Dependencias funcional
Ejemplo: ALUMNOS
Podremos decir que el atributo edificio depende funcionalmente de aula, ya que cada
aula está situada en un edificio concreto, o sea, para cada valor de aula sólo existe un
valor de edificio (suponemos que lo nombres de las aulas son distintos en cada edificio),
luego
Sin embargo, aula no depende funcionalmente de edificio porque para cada valor de
edificio existen varios valores de aula (cada aula que se sitúa en el mismo edificio)
Edificio aula
A
B C
Curso
Grupo
-- 3
SISTEMAS GESTORES DE BASE DE DATOS. APUNTES
Aula
A
B C
En el ejemplo, el conjunto formado por curso y grupo con respecto al atributo aula, es un
ejemplo de dependencia funcional completa, ya que para cada curso existen varias aulas
y para cada grupo también, sólo para el par completo, el valor de aula es único.
Luego
Curso
Grupo Aula
Dependencia transitiva
A B C
-- 4
SISTEMAS GESTORES DE BASE DE DATOS. APUNTES
Las relaciones deben cumplir con unas restricciones que han sido definidas en las
distintas formas normales. En un principio, Codd definió las tres primeras formas normales.
Posteriormente, la tercera forma normal fue revisada por Boyce y el mismo Codd
aumentando el número de restricciones y pasándole a llamar forma normal de Boyce y
Codd (FNBC). Posteriormente, en los años setenta, fue Fagin quien definió la cuarta y
quinta forma normal.
Para un buen diseño de una base de datos el nivel exigible es hasta la tercera forma
normal.
Primera forma normal (1FN)
Una relación esta en 1FN si el valor de los dominios de los atributos es único, es
decir, si todos sus atributos son monovaluados.
Ejemplo:
Cod_pedido Fecha Código Nombre Ciudad Tfno Codigo Descrip precio Codigo Tfno cantidad
pedido cliente cliente cliente cliente produt produt proved Prov
0001 12/3/02 32 Juan Madrid 9999999 010 Galletas 3€ 01 4444 5
Perez 045 Zumo 1€ 66 5555 10
095 Vino 2€ 21 1111 5
0002 12/4/02 25 Antonio Sevilla 7777777 033 Detergente 12€ 32 2222 3
Lopez 095 Vino 2€ 21 1111 2
078 champu 3€ 32 2222 1
Esta relación no esta en 1FN ya que para código de pedido (0001) existen varios códigos
de productos (010, 045).
Solución:
Una vez identificados los atributos que tienen varios valores para uno concreto de la
clave, se formará con ellos una nueva relación y se eliminarán de la antigua. La clave
principal de la nueva relación estará formada por la concatenación de uno o varios
atributos y la clave principal de la antigua.
Ejemplo:
Relación pedidos
Relación líneas_de-pedido
-- 5
SISTEMAS GESTORES DE BASE DE DATOS. APUNTES
0002 033 Detergente 12€ 32 2222 3
0002 095 Vino 2€ 21 1111 2
0002 078 champu 3€ 32 2222 1
La clave principal de esta relación pasará a ser cod_pedido+codigo product
Una relación está en 2FN si está en 1FN y cada atributo suyo distinto de los que
componen una clave principal tiene una dependencia funcional completa de dicha clave
principal. Es decir, si está en 1FN y cada uno de los atributos depende de toda la clave.
Relación líneas_de-pedido
También podemos observar que la relación pedidos dispone de una clave simple, por
lo tanto podemos afirmar directamente que la relación pedidos esta en 2FN.
Solución
Ejemplo:
Relación líneas_de_pedido
Relación productos
-- 6
SISTEMAS GESTORES DE BASE DE DATOS. APUNTES
045 zumo 1€ 66 5555
033 Detergente 12€ 32 2222
095 Vino 2€ 21 1111
078 champu 3€ 32 2222
Una relación está en 3FN si está en 2FN y cada atributo que no pertenezca a un clave
candidata concreta no depende transitivamente de dicha clave candidata. Es decir, si
está en 2FN y cada uno de sus atributos depende sólo de la clave.
Asi mismo, en la relación pedidos, los atributos nombre cliente, ciudad cliente,
telefono cliente dependen del código cliente.
Solución:
Una vez identificados los atributos que dependen de otro atributo distinto de una
clave candidata, se formará con ellos otra relación y se quitarán de la antigua.
La clave principal de la nueva relación será el atributo del cual dependen. Este
atributo en la relación antigua pasará a ser una clave ajena.
Relación pedidos
Relación clientes
Relación productos
Relación proveedores
-- 7
SISTEMAS GESTORES DE BASE DE DATOS. APUNTES
Codigo Tfno
proved Prov
01 4444
66 5555
21 1111
32 2222
Relación líneas_de_pedido
La FNBC es más fuerte que la 3FN, por lo tanto, toda relación en FNBC está en
3FN.
Teorema de Boyce-Codd: sea una relación R formadas por los atributos A,B,C,D
con claves candidatas compuestas (A,B)y (B,C) tal que: AC, entonces la relación puede
descomponerse en cualquiera de las dos siguiente maneras: R1(A,C) y R2(B,C,D) o bien
R1(A,C) y R2(A,B,D).
Ejemplo: EMPLEADOS
Observando los atributos de esta relación podemos ver que NUM_SS y el grupo
NOMBRE_APELLIDOS son claves candidatas (determinantes). Esta relación se transforma
en dos tablas: una contendrá la clave junto con las claves candidatas y la otra la clave
con el resto de campos .
-- 8
SISTEMAS GESTORES DE BASE DE DATOS. APUNTES
EMPLEADOS
EMPLE-TRABAJO
Una relación está en cuarta forma normal si, y solo si, está en
FNBC y no existen dependencias multivaluadas.
DNI TITULACION
413245-B Licenciado en Exactas.
413245-B Licenciado en Ciencias Físicas
234556-J Ingeniero en Telecomunicaciones.
123455-B Licenciado en Historia.
123455-B Licenciado en Filosofía.
Teorema de Fagin: dada la relación formada por los atributos X,Y,Z con las
siguientes dependencias multivaluadas:
X->->Y y x->->Z, entonces la relación puede descomponerse en dos relaciones: R1(X,Y)
y R2(X,Z).
Ejemplo: GEOMETRÍA
-- 9
SISTEMAS GESTORES DE BASE DE DATOS. APUNTES
En ejemplo vemos que figura determina valores múltiples de color y tamaño, pero
color y tamaño son independientes entre si. Así, pues las dependencias son FIGURA ->-
>COLOR y FIGURA->->TAMAÑO.
Observamos que se repiten ESFERA-GRANDE, PIRÁMIDE-GRANDE O PIRÁMIDE-
BLANCO. Para Eliminar las redundancias de los datos se deben eliminar estas
dependencias de valores múltiples. Esto se logra, construyendo dos tablas, donde cada
una almacena datos para solamente uno de los atributos de valores múltiples.
Una relación se encuentra en 5FN si, y solo si, toda dependencia de reunión en la
relación es una consecuencia de las claves candidatas. Esto es, la relación está en 5FN si
está en 4FN y no existen restricciones impuestas por el creador de la BD. La 5FN se
refiere a dependencias que son extrañas.
-- 10