martes, 22 de febrero de 2011

EJEMPLO DE NORMALIZACION

EJEMPLO
Ejemplo práctico. Cómo a partir de una factura podemos diseñar una base de datos sencilla aplicando su normalización.

Proceso de normalización
Primera Forma Normal (1FN):
Para el grupo repetitivo podemos ver que corresponden a los ítems de CATEGORÍA, CÓDIGO, DESC, VR-UNIT y CANT, ya que para la misma factura se pueden tener varios ítems de éstos.
Grupo No Repetitivo          Grupo Repetitivo
FAC-NUM                       CATEGORIA
FAC-FECHA                    CODIGO
CLI-NOM                         DESC
CLI-DIR                           VR-UNIT
CLI-CC                            CANT
CLI-TEL


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

Segunda Forma Normal (2FN):
Para los campos CATEGORÍA, DESC y VR-UNIT no dependen enteramente de la llave compuesta, sino que sólo dependen del campo CÓDIGO, por lo que generamos un tercer grupo cuya llave va a ser CÓDIGO:
Grupo 1                Grupo 2               Grupo 3
FAC-NUM        FAC-NUM          CÓDIGO
FAC-FECHA     CÓDIGO         CATEGORÍA
CLI-NOM            CANT                 DESC
CLI-DIR                                        VR-UNIT
CLI-CC
CLI-TEL
 

Tercera Forma Normal (3FN):
Para el grupo 1 los campos CLI-NOM, CLI-DIR y CLI-TEL son totalmente dependientes de CLI-CC, por lo que genero un grupo 4 que contiene los datos del cliente, quedando:
Grupo 1                Grupo 2              
FAC-NUM         FAC-NUM                      
FAC-FECHA       CÓDIGO                
CLI-CC                  CANT                             
                                                                 
Grupo 3                Grupo 4
CÓDIGO             CLI-CC
CATEGORIA       CLI
DESC                   CLI-NOM
VR-UNIT             CLI-DIR
                             CLI-TEL

Y finalmente cada grupo corresponde a una tabla en la base de datos.


No hay comentarios:

Publicar un comentario