NORMALIZACIONDE BASES DE DATOS

Anuncio
Ing. Orlando Bettin j.
Reestructurado y Modificado por BJ System
NORMALIZACIONDE BASES DE DATOS
Este documento contiene un ejemplo donde se explica el proceso de normalización a través de un
ejemplo donde se normaliza los datos presentes en una factura de venta hasta la tercera forma
normal. No contiene explicación sobre la teoría de normalización de bases de datos por lo que se
aconseja hacer consultas de forma adicional acerca de éste tema.
Ejemplo de normalización de una factura de venta
En la siguiente factura de compra venta, usted debe analizar toda la información disponible y debe crear
el diccionario de datos.
No. 500456
Fecha: 05/04/2011
Ing. Orlando Bettin j.
Reestructurado y Modificado por BJ System
DESARROLLO
1. Creamos el Diccionario de Datos, para ello hacemos una lista de todos los campos presentes
en el documento y elegimos para ellos una llave primaria.
Clave Principal
2. Aplicamos Primera Forma Normal 1FN: Dividimos la lista de datos del diccionario de datos en
dos grupos: El grupo # 1 estará formado por aquellos datos que no se repiten y en grupo # 2
por aquellos datos repetitivos
No. 500456
Fecha: 05/04/2011
Datos no Repetitivos
Dato
s
R
E
P
E
T
I
T
I
Ing. Orlando Bettin j.
Reestructurado y Modificado por BJ System
Al aplicar primera forma normal debemos adicionar en el grupo repetitivo el campo que se
selecciono como llave primaria al momento de elaborar el diccionario de datos para que sirva
como llave secundaria y permita establecer una relación de cardinalidad 1-N desde el grupo#1(no
repetitivo) al grupo#2(grupo repetitivo) y seleccionamos una llave primaria al grupo#2. Aplicando
lo anteriormente expuesto nos queda el siguiente modelo relacional en primera forma normal
(1FN).
Grupo repetitivo
Llave secundaria
Relación de cardinalidad 1-N
3. Aplicamos Segunda Forma Normal 2FN: Al aplicar segunda forma normal sólo se analiza el
grupo repetitivo (grupo #2) y se determina que datos dependen de forma única del la llave
primaria, Codigo_Producto en nuestro caso, estos datos junto con la llave primaria formarán
un nuevo grupo (grupo #3) cuya llave primaria será la misma que tenía el grupo
#2(Codigo_Producto) y este mismo dato se conserva en el grupo #2 pero para este grupo pasa
a ser llave secundaria.
Este grupo dependen de forma única del la llave primaria y son
inherentes al producto.
Este grupo No dependen de forma única del la llave primaria y son
inherentes a la venta No al producto
Al aplicar segunda forma normal nos que el siguiente modelo relacional
Ing. Orlando Bettin j.
Reestructurado y Modificado por BJ System
4. Aplicamos Tercera Forma Norma 3FN. Al aplicar tercera forma normal se analiza sólo al grupo
no repetitivo, grupo # 1 en nuestro caso, y se separan de él aquellos campos que no dependan
directamente de la llave primaria. Para el nuevo grupo se selecciona una llave primaria y dicho
campo se conserva en el primer grupo como llave secundaria. Así nos queda el siguiente
modelo.
5. D OTRAS OBSERVACIONES. Se ha seguido el proceso de normalización haciendo un ARD
partiendo de un diccionario de datos formado a partir del esquema de una factura, es decir
nos hemos basado en uno de los múltiples documentos que puede generar una empresa para
formar la lista de datos, luego se ha procedido a aplicar 1FN,2FN y3FN. No obstante haber
seguido el proceso de normalización hasta 3FN en posible que aun nuestra base de datos
necesite algunos ajustes. En tal sentido procederemos a analizar cada una de las tablas y a
hacer los ajustes que sean necesarios.
Cambiaremos los nombres de las tablas.
El cambio en los nombres de las tablas se hace para que dichos nombres guarden
relación con los datos que almacenan cada tabla. Los cambios propuestos se
muestran a continuación.
Nota: Ahora asignar Nombres a las tablas
NOMBRE DEL GRUPO
DESCRIPCION DE LA INFORMACION QUE CONTIENE CADA GRUPO
NUEVO NOMBRE PARA LA TABLA
REPRESENTATIVA DE CADA GRUPO
Grupo # 1
Información de la factura
TBLFactura
Grupo # 2
Detalles de la venta realizada, es la lista de productos
vendido y relacionados en una factura particular.
TBLDetalleFactura
Grupo # 3
Datos de los productos.
TBLProductos
Grupo # 4
Datos del cliente
TBLClientes
Ing. Orlando Bettin j.
Reestructurado y Modificado por BJ System
 Adicionamos datos en aquellas tablas que lo requieran.
 La tabla que guarda los datos de los productos no registra el valor actual de los
productos por lo que se le adicionará un nuevo campo llamado VALOR_ACTUAL.
Es importante no confundir el campo VALOR_ACTUAl de la tabla de productos con
el campo VALOR_UNITARIO de la tabla de detalles de la factura el VALOR_ACTUAL
como su nombre lo indica es el valor presente a la fecha de un producto en
particular y el VALOR_UNITARIO es el precio al cual fue vendido un producto en
particular
Después de haber hecho los ajustes necesarios (cabio de nombres a las tablas y adición de nuevos
datos) hemos llegado al final del proceso de normalización y podemos estar seguros de que
tenemos un buen diseño de nuestra base de datos. El modelo relacional final es el siguiente
Descargar