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