Sie sind auf Seite 1von 7

FUNDACION UNIVERSITARIA SAN MARTIN A travs del siguiente ejercicio se intenta afirmar los conocimientos de normalizacin con un ejemplo

simplificado de una base de datos para una pequea biblioteca.

CodLibro 1001 1004 1005 1006 1007

Titulo Variable compleja Visual Basic 5 Estadstica Oracle University Clipper 5.01

Autor Murray Spiegel E. Petroustsos Murray Spiegel

Editorial McGraw Hill Anaya McGraw Hill

NombreLector

FechaDev

Prez Gmez, Juan 15/04/2005 Ros Tern, Ana Roca, Ren 17/04/2005 16/04/2005

Nancy Greenberg y Oracle Corp. Priya Nathan Ramalho McGraw Hill

Garca Roque, Luis 20/04/2005 Prez Gmez, Juan 18/04/2005

Esta tabla no cumple el requisito de la Primera Forma Normal (1NF) de slo tener campos atmicos, 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 BIBLIOTECA
CodLibro 1001 1004 1005 1006 1006 1007 Titulo Autor Editorial Paterno Materno Nombres Gmez Tern Juan Ana Ren Roque Roque Gmez Luis Luis Juan FechaDev 15/04/2005 17/04/2005 16/04/2005 20/04/2005 20/04/2005 18/04/2005 Variable compleja Murray Spiegel Visual Basic 5 Estadstica OracleUniversity OracleUniversity Clipper 5.01 E. Petroustsos Murray Spiegel McGraw Hill Prez Anaya Ros

McGraw Hill Roca Garca Garca

NancyGreenberg Oracle Corp. Priya Nathan Ramalho Oracle Corp.

McGraw Hill Prez

Como se puede ver, hay cierta redundancia caracterstica de 1NF. 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 cdigo del libro. Por ejemplo, el ttulo es completamente identificado por el cdigo del libro, pero el nombre del lector en realidad no tiene dependencia de este cdigo, por tanto estos datos deben ser trasladados a otra tabla.

ING. JUAN JOSE CHINGAL

EJERCICIOS PRACTICOS BASES DE DATOS

FUNDACION UNIVERSITARIA SAN MARTIN

2NF
LIBRO CodLibro 1001 1004 1005 1006 1006 1007 Titulo Variable compleja Visual Basic 5 Estadstica Oracle University Oracle University Clipper 5.01 Autor Murray Spiegel E. Petroustsos Murray Spiegel Editorial McGraw Hill Anaya McGraw Hill

NancyGreenberg Oracle Corp. Priya Nathan Ramalho Oracle Corp. McGraw Hill

La nueva tabla slo contendr datos del lector.


LECTOR CodLector Paterno Materno 501 502 503 504 Prez Ros Roca Garca Roque Gmez Tern Nombres Juan Ana Ren Luis

Hemos creado una tabla para contener los datos del lector y tambin tuvimos que crear la columna CodLector para identificar unvocamente a cada uno. Sin embargo, esta nueva disposicin de la base de datos necesita que exista otra tabla para mantener la informacin de qu libros estn prestados a qu lectores. Esta tabla se muestra a continuacin:
PRESTAMOS CodLibro CodLector 1001 1004 1005 1006 1007 501 502 503 504 501 FechaDev 15/04/2005 17/04/2005 16/04/2005 20/04/2005 18/04/2005

Para la Tercera Forma Normal (3NF) la relacin debe estar en 2NF y adems los atributos no clave deben ser mutuamente independientes y dependientes por completo de la clave primaria. Tambin recordemos que dijimos que esto significa que las ING. JUAN JOSE CHINGAL EJERCICIOS PRACTICOS BASES DE DATOS

FUNDACION UNIVERSITARIA SAN MARTIN columnas en la tabla deben contener solamente informacin 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 informacin acerca del libro, los autores y editoriales, por lo que debemos crear nuevas tablas para satisfacer los requisitos de 3NF. 3NF LIBROS
CodLibro Titulo 1001 Variable compleja 1004 Visual Basic 5 1005 Estadstica 1006 Oracle University 1007 Clipper 5.01

AUTORES CodAutor Autor

801 Murray Spiegel 802 E. Petroustsos 803 Nancy Greenberg 804 Priya Nathan 806 Ramalho EDITORIALES CodEditorial Editorial

901 McGraw Hill 902 Anaya 903 Oracle Corp.

ING. JUAN JOSE CHINGAL

EJERCICIOS PRACTICOS BASES DE DATOS

FUNDACION UNIVERSITARIA SAN MARTIN

Aunque hemos creado nuevas tablas para que cada una tenga slo informacin acerca de una entidad, tambin sabemos que la informacin acerca de qu autor ha escrito qu libro y las editoriales correspondientes, es de muchos a muchos por lo que debemos crear otras tablas que relacionen cada libro con sus autores y editoriales.
LIBRO AUTOR CodLibro 1001 1004 1005 1006 1006 1007 LIBRO EDITORIAL CodLibro 1001 1004 1005 1006 1007 codEditorial 901 902 901 903 901 codAutor 801 802 801 803 804 806

ING. JUAN JOSE CHINGAL

EJERCICIOS PRACTICOS BASES DE DATOS

FUNDACION UNIVERSITARIA SAN MARTIN Y el resto de las tablas no necesitan modificacin.

ING. JUAN JOSE CHINGAL

EJERCICIOS PRACTICOS BASES DE DATOS

FUNDACION UNIVERSITARIA SAN MARTIN


LECTORES CodLector Paterno Materno 501 Prez 502 Ros 503 Roca 504 Garca DEVOLUCIONES CodLibro CodLector 1001 1004 1005 1006 1007 501 502 503 504 501 FechaDev 15/04/2005 17/04/2005 16/04/2005 20/04/2005 18/04/2005 Roque Gmez Tern Nombres Juan Ana Ren Luis

FACTURA CAMPOS A UTILIZAR

FAC-NUM: Nmero de Factura de Compra-Venta

Proceso de normalizacin Primera Forma Normal (1FN):


Para el grupo repetitivo podemos ver que corresponden a los tems de CATEGORA, CDIGO, DESC, VR-UNIT y CANT, ya que para la misma factura se pueden tener varios tems de stos.

FAC-FECHA: Fecha de la factura de Compra-Venta

CLI-NOM: Nombre del Cliente CLI-DIR: Direccin del Cliente CLI-CC: Cdula del Cliente CLI-TEL: Telfono del Cliente

Grupo No Repetitivo Grupo Repetitivo FAC-NUM CATEGORA FAC-FECHA CDIGO CLI-NOM DESC CLI-DIR VR-UNIT CLI-CC CANT CLI-TEL

CATEGORIA: Categora del producto CODIGO: Cdigo del Producto DESC: Descripcin del producto VR-UNIT: Valor Unitario del producto CANT: Cantidad de productos a pedir

ING. JUAN JOSE CHINGAL

EJERCICIOS PRACTICOS BASES DE DATOS

FUNDACION UNIVERSITARIA SAN MARTIN


Para el grupo repetitivo se tiene como llave el campo de CDIGO, ya que el campo de CATEGORA se puede repetir varias veces para distintos productos, mientras que el campo de CDIGO es nico. Por lo cual se combina con el campo FAC-NUM para que quede como llave nica. Grupo 1 FAC-NUM Grupo 2 FAC-NUM CLI-CC FAC-FECHA CDIGO CLI-TEL CLI-NOM CLI-DIR CLI-CC CLI-TEL CATEGORA DESC VR-UNIT CANT Grupo 1 FAC-NUM FAC-FECHA FAC-NUM CLI-NOM CDIGO CLI-DIR CANT VR-UNIT DESC CATEGORA CDIGO Grupo 2 Grupo 3

Tercera Forma Normal (3FN):


Para el grupo 1 los campos CLI-NOM, CLI-DIR y CLITEL son totalmente dependientes de CLI-CC, por lo que genero un grupo 4 que contiene los datos del cliente, quedando: FAC-CLI FAC-NUM CLIENTE PRODUCTO CLIENTE CDIGO FAC-NUM CATEGORA CLI-NOM FAC-FECHA CDIGO DESC CLI-CC CANT VR-UNIT CLI-TEL CLI-DIR CLI-CC

Segunda Forma Normal (2FN):


Para los campos CATEGORA, DESC y VR-UNIT no dependen enteramente de la llave compuesta, sino que slo dependen del campo CDIGO, por lo que generamos un tercer grupo cuya llave va a ser CDIGO:

ING. JUAN JOSE CHINGAL

EJERCICIOS PRACTICOS BASES DE DATOS

Das könnte Ihnen auch gefallen