Está en la página 1de 5

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_Devolucion


101 Física II Custodio Garcia Bruño Andrea Ruiz 17/06/2009
Mendoza
105 Matemática para la Ramhalo Oracle Kathy Narro Mendez 22/06/2009
computación

 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 Cod_Lector Nom_Lector Ape_Mat Ape_Pate Fech_Dev


101 Fisica II Garcia Bruño 10 Andrea Ruiz Mendoza 17/06/2009
105 Matematica Ramhal Oracle 11 Kathy Narro Mendez 22/06/2009

 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.

Cod_Libro -> Titulo, Autor,Editorial,CodLector,Nom_Lector,Apel_Mat,Ape_Pate,Fech_Dev

Sin embargo Cod_Lector que es un atributo no clave sino clave candidata está determinando a los
valores Nom_Lector, Ape_Mat,Ape_Pat por lo que la tabla tendría una dependencia parcial ya que
los atributos son propios de esta clave también.

Cod_Lector-> Nom_Lector, Ape_Mat,Ape_Pat

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, por deducción decimos que Lector tiene su propia
clave. El procedimiento es separar en dos tablas manteniendo la relación original

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_Pater


10 Andrea Ruiz Mendoza
11 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_Devol


101 10 17/06/2009
105 11 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 Titulo
101 Fisica II
105 Matematic

TABLA AUTOR

Cod_Autor Autor
1 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.

TABLA AUTOR

Cod_Libro Cod_Autor
101 1
105 2

TABLA EDITORIAL

Cod_Libro Cod_Editorial
101 1
105 4
Y el resto de las tablas no necesitan modificación.

TABLA LECTOR

Cod_Lector Nom_Lector Apel_Mart Apel_Pater


10 Andrea Ruiz Mendoza
11 Kathy Narro Mendez
TABLA PRESTAMO

Cod_Libro Cod_Lector Fecha_Devol


101 10 17/06/2009
105 11 22/06/2009

También podría gustarte