3.4 DIAGRAMAS DE DEPENDENCIA FUNCIONAL.EJEMPLO DE NORMALIZACIÓN.

Se trata de normalizar hasta la 3FN una base de datos de una academia que contenga
información sobre Cursos, Profesores, Libros, Editorial de los libros, Ciudad de la editorial,
Teléfono de los profesores y aulas. Se imponen ahora las siguientes (aunque un tanto
extrañas) condiciones:
- Cada curso es impartido siempre por un grupo bien definido de profesores.
- Cada curso tiene un grupo bien definido de libros (se dan todos ellos).
- Cada curso impartido por un profesor con un cierto libro se realizará en un aula
distinta.
Para plasmar todas estas condiciones, se incorpora a continuación una hipotética tabla con
los tipos de datos anteriormente definidos.

 Teniendo en cuenta el enunciado del problema y los datos de la tabla anterior, se puede
trazar el siguiente diagrama de dependencias funcionales:






Para normalizar hasta la tercera forma normal debemos seguir los siguientes pasos:
a. Determinar cuales son las claves de la relación.
b. Determinar cual de estas claves funcionará como clave primaria.
En nuestro ejemplo, la clave primaria sería (Curso, Profesor, Libro)
c. Mirar si la relación se encuentra en 1FN.
En nuestro ejemplo, podemos afirmar que la relación se encuentra en primera forma
normal ya que los dominios son atómicos.
d. Mirar si la relación se encuentra en 2FN.

En nuestro ejemplo, la relación no se encuentra en segunda forma normal ya existen
dependencias funcionales no completas de la clave primaria
Si una relación no se encuentra en 2FN se puede aplicar el siguiente teorema de manera que,
al descomponer la relación en 2 al menos una de ellas se encuentra en 2FN:

Teorema I
Sea una relación R(A,B,C,D) con clave primaria (A,B) y tal que RA -> RD, entonces la
relación R puede descomponerse como
R1(A,D)
R2(A,B,C)
En el diagrama de dependencias funcionales, se muestra claramente que existen dos
dependencias no completas de la clave. Es decir, existen dos atributos que no dependen de la
clave completa, sino de parte de ella.
Aplicaremos


Aplicaremos el Teorema I a las dependencias no completas del ejemplo.
R=(Curso, Profesor, Libro, Aula, Editorial, Ciudad, Teléfono)
Vamos a deshacer la dependencia no completa entre teléfono y profesor con ayuda del
Teorema I:
R1= (Profesor, Teléfono)
R2=(Curso, Profesor,Libro,Aula,Editorial,Ciudad).






Vamos a deshacer la dependencia no completa R2 entre libro y editorial aplicando del
Teorema I:
R1= (Profesor, Teléfono)
R3= (Libro, Editorial , Ciudad)
R4=(Curso, Profesor, Libro, Aula)



Ahora podemos afirmar que la relación R1, R3 y R4 se encuentran en 2FN. Las
relaciones R1 y R4, se encuentran en 3FN, ya que las dependencias funcionales que existen
no son transitivas.
Sin embargo la relación R3 no se encuentra en 3FN, ya que existen dependencias
funcionales transitivas, es decir, que existen atributos que dependen de otros atributos que no
son clave.


Si una relación no se encuentra en 3FN se puede aplicar el siguiente teorema de
manera que, al descomponer la relación en 2 al menos una de ellas se encuentra en 3FN:

Teorema II
Sea una relación R(A,B,C) con clave primaria (A) y tal que RB -> RC, entonces la relación R
puede descomponerse como:
R1(A,B)
R2(B,C)
Aplicaremos el Teorema II para deshacer la dependencia transitiva en R3.
R5= (Libro, Editorial)
R6=(Editorial, Ciudad)
Ahora se puede afirmar que las relaciones R1, R4, R5 y R6 se encuentran en 3FN.
 El diagrama de dependencias funcionales quedará de la siguiente manera:




 Las relaciones serán las siguientes:
R1= (Profesor, Teléfono)
R4=(Curso, Profesor, Libro, Aula)
R5= (Libro, Editorial)
R6=(Editorial, Ciudad)