1. 1ºFN
Una tabla está en 1FN si ninguno de sus atributos contiene valores multivaluados.
A la vista de la tabla, no cumple la 1ºFN puesto que en el campo Autor existen varios
autores para un determinado libro. Para solucionar este error, se descompone la tabla
principal en dos tablas, en las cuales se separen aquellos campos que no tienen valores
multivaluados en una y los que tienen valores multivaluados en otra.
Tabla 1
Autor
Murray Spiegel
E. Petroustsos
Priya Nathan
Nancy Grennberg
Ramalho
Tabla 2
Cod Libro Título Editorial NombreLector FechaDev
1001 Variable Compleja McGraw Hill Pérez Gómez, Juan 15/04/2005
1004 Visual Basic 5 Anaya Rios Terán, Ana 17/04/2005
1005 Estadística McGraw Hill Roca, René 16/04/2005
1006 Oracle University Oracle Corp. García Roque, Luis 20/04/2005
1007 Clipper 5.01 McGraw Hill Peréz Gómez, Juan 18/04/2005
Como consecuencia de la división en dos tablas de los atributos de la tabla principal, se
ha obtenido una pérdida de información, puesto que ya no tenemos relacionados los
autores con los libros. Para solucionar esta pérdida de información, generamos una
nueva tabla como consecuencia de la relación N:M que mantenían los libros con los
autores.
2. Tabla 3
Cod Libro Autor
1001 Murray Spiegel
1004 E. Petroustsos
1004 Priya Nathan
1005 Murray Spiegel
1006 Nancy Grennberg
1006 Priya Nathan
1007 Ramalho
Una vez obtenido el esquema de tablas resultante de la división, se comprueba que
todas las tablas ya están en 1ªFN, puesto que en ninguna de ellas existe ningún atributo
multivaluado.
2ªFN
Para cumplir la 2ª FN las tablas deben estar en 1ªFN, y además todos los atributos no
claves deben tener una dependencia funcional completa con respecto a las claves de
cada tabla.
Para esto primeramente se deben averiguar las DF:
Tabla 1:
La tabla 1 al tener solamente 1 solo atributo, cumple la 2ªFN puesto que no hay
ninguna dependencia entre varios atributos.
Tabla 2:
Cod. Libro -> Titulo, Editorial
Cod. Libro, NombreLector –> Fech.Dev.
Como los atributos no claves no dependen de todas las claves de la tabla, la
Tabla 2 no está en 2ªFN y para solucionarlo se subdivide la tabla en las DF
halladas anteriormente.
Tabla 2-1
Cod Libro Título Editorial
1001 Variable Compleja McGraw Hill
1004 Visual Basic 5 Anaya
1005 Estadística McGraw Hill
1006 Oracle University Oracle Corp.
1007 Clipper 5.01 McGraw Hill
Tabla 2-2
Cod Libro NombreLector FechaDev
1001 Pérez Gómez, Juan 15/04/2005
1004 Rios Terán, Ana 17/04/2005
1005 Roca, René 16/04/2005
1006 García Roque, Luis 20/04/2005
1007 Peréz Gómez, Juan 18/04/2005
3. Las tablas resultantes ya están en 2ªFN puesto que los atributos NO claves (Titulo
y Editorial) de la tabla 2-1 dependen de la única clave que existe (Cod. Libro) y
el atributo NO clave (Fech. Dev.) de la tabla 2-2 depende de la clave de dicha
tabla (Cod. Libro y Nombre Lector).
Tabla 3:
En la Tabla 3 no se pueden hallar las DF puesto que los atributos que contiene no
tienen ninguna correspondencia. Para solucionar este problema añadimos una
CLAVE que defina el resto de atributos.
ID Cod Libro Autor
1 1001 Murray Spiegel
2 1004 E. Petroustsos
3 1004 Priya Nathan
4 1005 Murray Spiegel
5 1006 Nancy Grennberg
6 1006 Priya Nathan
7 1007 Ramalho
Una vez insertada la clave, se analizan las DF:
ID -> Cod. Libro, Autor
Como los atributos NO claves (Cod. Libro y Autor) dependen de la única clave
de la tabla, ya estaría esta tabla 3 en 2ªFN.
3ªFN
Para que las tablas estén en 3ªFN deben estar en 2ªFN, y además no debe haber
ningún atributo NO clave que tenga una dependencia funcional transitiva con respecto a
la clave de cada tabla.
Tabla 1
Al tener únicamente un solo atributo, no es posible que se de la dep. func.
Transitiva, por lo tanto está en 3ªFN.
Tabla 2-1
En esta tabla se nos pueden dar las siguientes dependencias:
Cod. Libro -> Titulo -> Editorial y además Titulo ->/ Cod. Libro.
Si se cumple esta dependencia, la tabla 2-1 no está en 3ªFN y tendríamos que
descomponer sus atributos:
TABLA 2-1-1
Cod Libro Título
1001 Variable Compleja
1004 Visual Basic 5
1005 Estadística
1006 Oracle University
1007 Clipper 5.01
4. TABLA 2-1-2
Título Editorial
Variable Compleja McGraw Hill
Visual Basic 5 Anaya
Estadística McGraw Hill
Oracle University Oracle Corp.
Clipper 5.01 McGraw Hill
Estas dos tablas ya están en 3ªFN puesto que al tener solamente dos atributos
cada una, no se puede dar la Dep. Func. Transitiva.
Tabla 2-2
Está en 3ªFN puesto que no hay transitividad con los atributos de esta tabla, ya
que los valores de dicha tabla nos demuestran que únicamente es posible la DF
hallada en la 2ªFN.
Tabla 3
Estaría en 3ª FN puesto que sus atributos NO claves no mantienen ninguna DF
transitiva con respecto a la clave (ID).