Normalizacion BD
Normalizacion BD
Normalizacion BD
A través del siguiente ejercicio se intenta afirmar los conocimientos de normalización con
un ejemplo simplificado de una base de datos para una pequeña biblioteca.
Esta tabla no cumple el requisito de la Primera Forma Normal (1NF) de sólo tener campos
atómicos, pues el nombre del lector es un campo que puede (y conviene) descomponerse en
apellido paterno, apellido materno y nombres. Tal como se muestra en la siguiente tabla.
1NF
CodLibro Titulo Autor Editorial Paterno Materno Nombres FechaDev
Variable
1001 Murray Spiegel McGrawHill Pérez Gómez Juan 15/04/2005
compleja
1004 Visual Basic 5 E. Petroustsos Anaya Ríos Terán Ana 17/04/2005
1005 Estadística Murray Spiegel McGrawHill Roca René 16/04/2005
1006 OracleUniversity Nancy Greenberg OracleCorp. García Roque Luis 20/04/2005
1006 OracleUniversity Priya Nathan OracleCorp. García Roque Luis 20/04/2005
1007 Clipper 5.01 Ramalho McGrawHill Pérez Gómez Juan 18/04/2005
La Segunda Forma Normal (2NF) pide que no existan dependencias parciales o dicho de
otra manera, todos los atributos no clave deben depender por completo de la clave primaria.
Actualmente en nuestra tabla tenemos varias dependencias parciales si consideramos como
atributo clave el código del libro.
Por ejemplo, el título es completamente identificado por el código del libro, pero el nombre
del lector en realidad no tiene dependencia de este código, por tanto estos datos deben ser
trasladados a otra tabla.
2NF
CodLibro Titulo Autor Editorial
Hemos creado una tabla para contener los datos del lector y también tuvimos que crear la
columna CodLector para identificar unívocamente a cada uno. Sin embargo, esta nueva
disposición de la base de datos necesita que exista otra tabla para mantener la información
de qué libros están prestados a qué lectores. Esta tabla se muestra a continuación:
Para la Tercera Forma Normal (3NF) la relación debe estar en 2NF y además los atributos
no clave deben ser mutuamente independientes y dependientes por completo de la clave
primaria. También recordemos que dijimos que esto significa que las columnas en la tabla
deben contener solamente información sobre la entidad definida por la clave primaria y, por
tanto, las columnas en la tabla deben contener datos acerca de una sola cosa.
En nuestro ejemplo en 2NF, la primera tabla conserva información acerca del libro, los
autores y editoriales, por lo que debemos crear nuevas tablas para satisfacer los requisitos
de 3NF.
3NF
CodLibro Titulo
1001 Variable compleja
1005 Estadística
CodAutor Autor
802 E. Petroustsos
806 Ramalho
CodEditorial Editorial
902 Anaya
Aunque hemos creado nuevas tablas para que cada una tenga sólo información acerca de
una entidad, también hemos perdido la información acerca de qué autor ha escrito qué libro
y las editoriales correspondientes, por lo que debemos crear otras tablas que relacionen
cada libro con sus autores y editoriales.
CodLibro codAutor
1001 801
1004 802
1005 801
1006 803
CodLibro codAutor
1006 804
1007 806
CodLibro codEditorial
1001 901
1004 902
1005 901
1006 903
1007 901