5
NORMALIZACION DE BASES DE DATOS Veamos el siguiente ejemplo de una base de datos de una biblioteca Cod_Lib ro Titulo Autor Editori al Nombre_Lec tor Fecha_Devolu cion 101 Fisica II Custodi o Garcia Bruño Andrea Ruiz Mendoza 17/06/2009 105 Matemati ca para la computac ió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_Lib ro Titulo Autor Editor ial Nom_Lecto r Apel_Ma rt Apel_Pa te Fech_De v 101 Fisica II Garcia Bruño Andrea Ruiz Mendoza 17/06/2 009 105 Matemat i Ramhal Oracle Kathy Narro Mendez 22/06/2 009

Normalizacion de Bases de Datos

Embed Size (px)

Citation preview

Page 1: Normalizacion de Bases de Datos

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

Page 2: Normalizacion de Bases de Datos

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

Page 3: Normalizacion de Bases de Datos

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.

Page 4: Normalizacion de Bases de Datos

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