lunes, 5 de septiembre de 2011

Ejercicio de Normalización



A continuación se presentará un ejercicio para explicar mejor las formas normales.

Se puede obsevar en la tabla datos en normalización CERO (sin normalizar), para comenzar con el proceso aplicaremos la 1FN (Atomizar los datos). Podemos darnos cuenta que el nombre del lector se puede descomponer en campos más pequeños, así como se muestra en la siguiente imagen.


1FN:
La Segunda Forma Normal (2NF) exige la existencia de la DFC; es decir, 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 (tal y como se muestra en la figura).

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.

2FN:


Hemos creado una tabla para contener los datos del lector y también se tuvo que crear la columna CodLector para identificar esta tabla sin problemas. 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, pues es una relación de muchos a muchos. 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; es decir, no debe existir DT. En la tabla de 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, debido a que el autor depende del nombre del libro.

3FN:

Por último, usaremos la 4FN para no perder información acerca de qué autor ha escrito qué libro y las editoriales correspondientes. La 4 FN establece la DMV, en este caso tenemos que un libro puede ser escrito por muchos autores, de la misma manera, una editorial puede editar muchos libros. Por esta razón, debemos crear otras tablas que relacionen cada libro con sus autores y editoriales.

4FN:


De esta manera, tenemos nuestra base de datos normalizada hasta la 4FN.

No hay comentarios: