Upload
poolxito21
View
7.756
Download
3
Embed Size (px)
Citation preview
NORMALIZACION DE BASES DE DATOS
Veamos el siguiente ejemplo de una base de datos de una biblioteca
Cod_Libro Titulo Autor Editorial Nombre_Lector Fecha_Devolucion101 Fisica II Custodio
GarciaBruño Andrea Ruiz
Mendoza17/06/2009
105 Matematica para la computación
Ramhalo Oracle Kathy Narro Mendez
22/06/2009
Primera Forma Normal.- 1FN
Esta tabla no cumple con la Primera Forma Normal, pues no cumple con el requisito de tener solo campos atomicos , el Nombre_Lector puede descomponerse en otros campos como Nombre_Lector, Apellido_Paterno, Apellido_Materno, como se mostrara en la siguiente tabla
Cod_Libro Titulo Autor Editorial Nom_Lector Apel_Mart Apel_Pate Fech_Dev101 Fisica II Garcia Bruño Andrea Ruiz Mendoza 17/06/200
9105 Matemati Ramhal Oracle Kathy Narro Mendez 22/06/200
9
Segunda Forma Normal._ 2FN
La Segunda Forma Normal 2FN, 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.
TABLA LIBRO
Cod_Libro
Titulo Autor Editorial
101 Fisica II Garcia Bruño
105 Matemati Ramhal Oracle
La nueva tabla sólo contendrá datos del lector.
TABLA LECTOR
Cod_Lector Nom_Lector Apel_Mart Apel_Pater10 Andrea Ruiz Mendoza17 Kathy Narro Mendez
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:
TABLA PRESTAMO
Cod_Libro Cod_Lector Fecha_Devol101 10 17/06/2009105 17 22/06/2009
Tercera Forma Normal._ 3FN
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.
TABLA LIBRO
Cod_Libro Titulo101 Fisica II
105 Matematic
TABLA AUTOR
Cod_Autor Autor1 Garcia
2 Ramhal
TABLA EDITORIAL
Cod_Editorial
Editorial
1 Bruño
4 Oracle
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.
Cod_Libro Cod_Autor101 1
105 2
Cod_Libro Cod_Editorial101 1
105 4
Y el resto de las tablas no necesitan modificación.
Cod_Lector Nom_Lector Apel_Mart Apel_Pater10 Andrea Ruiz Mendoza17 Kathy Narro Mendez
Cod_Libro Cod_Lector Fecha_Devol101 10 17/06/2009105 17 22/06/2009