Manual Normalizacion
Manual Normalizacion
Normalización es el proceso de organizar datos en una base de datos. Esto incluye la creación de
tablas estableciendo relaciones entre las mismas de acuerdo a ciertas reglas para proteger la
información y hacer más flexible la base de datos, eliminando redundancia y dependencia
inconsistente.
Existen algunas reglas para la normalización de la base de datos. Cada regla es llamada “forma
normal”. Si la primera regla es aplicada, se dice que la base de datos es considerada en “primera
forma normal”. Si las primeras tres reglas son aplicadas, la base de datos es considerada en
“tercera forma normal”. Sin embargo otros niveles de normalización son posibles, la tercera
forma normal es considerada la de más alto nivel necesario por muchas aplicaciones.
Con tantas formas normales y especificaciones, los escenarios del mundo real no siempre se
ajustan perfectamente a estas soluciones. En general la normalización requiere de tablas
adicionales. Si usted decide violar una de las tres formas normales, asegúrese de que su
aplicación anticipa cualquier tipo de problema, como puede ser información redundante y
dependencia inconsistente.
No utilice múltiples campos en una sola tabla para almacenar datos similares. Por ejemplo, para
rastrear el inventario de un producto pueden utilizarse dos posibles fuentes, un registro de un
inventario puede contener campos de Vendedor 1 y Vendedor 2.
¿Qué pasa cuando usted adiciona un tercer vendedor? Adicionar el campo no es la respuesta; esto
requiere de una modificación a nivel de programa y a nivel de tabla y no se ajusta a la
parametrizacion y adición dinámica de múltiples vendedores. En lugar de eso separe la
información de los vendedores en tablas separadas llamada vendedores, luego enlace el
inventario con los vendedores por medio de un identificador.
Segunda Forma Normal
• Los atributos que no forman parte de ninguna clave deben depender de forma completa a
la clave principal. Es decir que no deben existir dependencias parciales. Separe tablas si
es necesario.
• Relacionar dichas tablas con una llave extranjera.
Los registros no deben depender de nada que no sea de un identificador en una tabla (o llave
compuesta si es necesario). Por ejemplo, considerando la dirección de un cliente en un sistema
contable. La dirección es necesitada por la tabla de clientes, pero también por la tabla de
órdenes de compra, facturas, etc. En lugar de almacenar la dirección de un cliente como una
entrada separada en cada una de esas tablas, regístrela en un solo lugar, lo más adecuado es
almacenarlo en la tabla de clientes.
Ejemplo de Normalización
Estos pasos demuestran el proceso de normalización de una tabla ficticia de estudiantes.
El enfoque de la normalización del presente ejercicio son los estudiantes. Usted debe tomar nota
de las siguientes aseveraciones:
1. Tabla no normalizada:
Las tablas solo deberían de tener dos dimensiones. Desde que un estudiante puede tener varias
clases, dichas clases deben de estar listadas en tablas distintas. Los campos Clase1, Clase2,
Clase3 de los registro superiores indican un problema de diseño.
Las hojas de cálculo generalmente ofrecen tres dimensiones, pero las tablas no deberían. Otra
forma de ver este problema es con una relación de uno-a-muchos, no hay que colocar el “uno” y
el “muchos” en la misma tabla. En lugar de eso, cree otra tabla en primera forma normal
eliminando los grupos repetitivos (Clase#), como se muestra a continuación:
Note las múltiples clases para cada estudiante en la tabla superior. Clase# no es funcionalmente
dependiente del Numero de Cuenta de un estudiante (llave primaria). Por tanto esta relación no
está en segunda forma normal.
Estudiantes:
Número de Alumno Tutor# Tutor Aula Tutor
Cuenta Nombre
1022 Julia 01 Jones 412
4123 José 02 Smith 216
Registro:
Número de Clase#
Cuenta
1022 101-07
1022 143-01
1022 159-02
4123 201-01
4123 211-02
4123 214-01
4. Tercera Forma Normal: Eliminar los datos que no dependen exclusivamente de la llave
primaria.
En el último ejemplo el aula del tutor es funcionalmente dependiente del tutor. Pero el nombre
del tutor no depende del identificador del estudiante.
Estudiantes:
Número de Alumno Tutor#
Cuenta Nombre
1022 Julia 01
4123 José 02
Tutores:
Tutor# Tutor Aula Tutor
01 Jones 412
02 Smith 216
Registro:
Número de Clase#
Cuenta
1022 101-07
1022 143-01
1022 159-02
4123 201-01
4123 211-02
4123 214-01