Formas Normales Avanzadas
Formas Normales Avanzadas
Diseño Avanzado de Bases de Datos
1
Tema 3. Tª de la Normalización
Dependencias multivaluadas
• Se definen porque, aun habiendo alcanzado FNBC, puede
haber situaciones en las que se produzcan anomalías de
actualización
• Son una generalización de las dependencias funcionales,
con la diferencia de que en el implicado aparece unconjunto
de valores, en lugar de uno sólo
• Se producen cuando en una tabla aparecen atributos
multivaluados independientes entre sí
Diseño Avanzado de Bases de Datos
2
Tema 3. Tª de la Normalización
• EJEMPLO:
PARTICIPA (EMPLEADO, PROYECTO, L. DE PROGRAMACIÓN)
EMPLEADO
Juan García
Juan García
Juan García
Juan García
Javier Pérez
Javier Pérez
Pedro López
Pedro López
PROYECTO
Galileo
Galileo
ProteusProteus
Proteus
Proteus
Galileo
Galileo
EMPLEADO
EMPLEADO
Diseño Avanzado de Bases de Datos
L. P.
C++
Java
C++
Java
Visual Basic
C++
C++
Java
PROYECTO
L. DE PROGRAMACIÓN
3
Tema 3. Tª de la Normalización
Definición de Dependencia Multivaluada
Dada una relación R(T) con los descriptores X, Y, Z, se cumple
que:
X
Y (X multidetermina a Y en R)
si un cierto valor de X implica a un conjunto biendefinido de
valores de Y, con independencia del resto de atributos de la
relación, lo que se puede expresar:
R[xzY] = R[xY]
siendo
Z=T-X-Y
Diseño Avanzado de Bases de Datos
4
Tema 3. Tª de la Normalización
• En las dependencias multivaluadas influye el resto de
atributos de la relación, es decir, dependen del contexto
• Una dependencia funcional es un caso particular de
dependenciamultivaluada donde los conjuntos de valores
de Y constan de un único elemento
• En cambio, una dependencia multivaluada no siempre es una
dependencia funcional.
Diseño Avanzado de Bases de Datos
5
Tema 3. Tª de la Normalización
• EJEMPLO DE NO EXISTENCIA DE DEPENDENCIAS
MULTIVALUADAS
MATERIA
BASES DE DATOS
BASES DE DATOS
BASES DE DATOS
AUTOR
DATE
DATE
ULLMAN
MATERIA
MATERIA
Diseño Avanzado de Basesde Datos
IDIOMA
ESPAÑOL
INGLÉS
INGLÉS
AUTOR
IDIOMA
6
Tema 3. Tª de la Normalización
Dependencia Multivaluada Trivial
Una dependencia multivaluada X
Y es trivial
cuando se cumple alguna de las siguientes condiciones:
– X=Y
– Y es un subconjunto de X (Y⊆ X)
–X∪Y=A
Diseño Avanzado de Bases de Datos
7
Tema 3. Tª de la Normalización
CUARTA FORMA NORMAL (4FN)
En el ejemplo de los proyectos deuna empresa existen las
dependencias multivaluadas:
EMPLEADO
PROYECTO
EMPLEADO
L. DE PROGRAMACIÓN
Esto significa que los lenguajes de programación que conoce un
empleado son independientes de los proyectos en los que
participa, ¿puede asegurarse el cumplimiento de esta
restricción al insertar una nueva tupla?
Diseño Avanzado de Bases de Datos
8
Tema 3. Tª de la Normalización
Respuesta:¡NO!
PARTICIPA (EMPLEADO, PROYECTO, L. DE PROGRAMACIÓN)
EMPLEADO
Juan García
Juan García
Juan García
Juan García
Javier Pérez
Javier Pérez
Pedro López
Pedro López
Pedro López
PROYECTO
Galileo
Galileo
Proteus
Proteus
Proteus
Proteus
Galileo
Galileo
Proteus
L. P.
C++
Java
C++
Java
Visual Basic
C++
C++
Java
Java
La inserción de esta nueva tupla obligaría a introducir otra tupla
{‘Pedro López’,‘Proteus’, ‘C++’} para cumplir las dependencia
multivaluadas definidas Æ Anomalía de actualización
¡La relación no está en 4FN!
Diseño Avanzado de Bases de Datos
9
Tema 3. Tª de la Normalización
DEFINICIÓN DE CUARTA FORMA NORMAL (4FN)
Una relación está en 4FN si, y solamente si:
•Está en FNBC
•Toda dependencia multivaluada no trivial viene
determinada por una clave candidata
La 4FN no depende sólo de losatributos que intervienen en la
dependencia multivaluada, sino también del contexto, es decir,
del resto de atributos.
Diseño Avanzado de Bases de Datos
10
Tema 3. Tª de la Normalización
¿Solución?
Descomponer la relación
En el ejemplo:
R1(EMPLEADO, PROYECTO)
R2(EMPLEADO, L. P)
R=R1*R2
El atributo común en ambas relaciones debe ser el
implicante de la dependencia multivaluada, así se...
Regístrate para leer el documento completo.