Está en la página 1de 18

Normalizaciones de Bases de

Datos
Elprofe3.wordpress.com
Normalizacin
La normalizacin es el proceso de organizar los datos en
una base de datos. Esto incluye la creacin de tablas y
que establece relaciones entre aquellas tablas segn
reglas diseadas para proteger los datos y hacer la base
de datos que es ms flexible al eliminar redundancia y
dependencia incoherente.
Los datos redundantes desperdician espacio en disco y
crean problemas de mantenimiento. Si es necesario
cambiar datos que aparecen en ms de un sitio, el
cambio deber ser exactamente igual en todos estos
sitios. Por ejemplo, un cambio de direccin de un cliente
es mucho ms fcil de implementar si los datos slo se
almacenan en la tabla Clientes y en ningn otro lugar de
la base de datos.
Normalizacin
Qu es una "dependencia incoherente"? Aunque para un usuario
puede resultar intuitivo buscar la direccin de un determinado cliente
en la tabla Clientes, es posible que no tenga sentido buscar en esa
misma tabla el sueldo del empleado que atiende a dicho cliente. El
salario del empleado est relacionado con el empleado (es decir,
existe una dependencia entre ambos), por lo que debe moverse a la
tabla Empleados. Las dependencias incoherentes pueden dificultar
el acceso a los datos, ya que la ruta de acceso a los mismos puede
estar rota o no encontrarse.
Existen unas cuantas reglas para la normalizacin de bases de
datos. Cada regla se denomina "forma normal" Si se cumple la
primera regla, se dice que la base de datos est en la "primera
forma normal" Si se cumplen las tres primeras reglas, se considera
que la base de datos est en la "tercera forma normal" Aunque
existen otros niveles de normalizacin, se considera que la tercera
forma normal es el mximo nivel necesario para la mayora de las
aplicaciones.
Primera forma normal
Eliminar grupos repetidos en tablas
individuales.
Crear una tabla diferente para cada
conjunto de datos relacionados.
Identificar cada conjunto de datos
relacionados mediante una clave principal.
No utilizar varios campos en una nica tabla
para almacenar datos similares.
Ejemplo
Artculo Prov1 Prov2 Prov3
Maz - Granja - En lugar de hacer varios
Arroz Casita - - campos para los
proveedores en una sola
Cdigo Proveedor tabla, hacemos otra tabla
con el campo proveedor y
145 Casita colocamos varios
154 Granja registros para los
proveedores (tabla de en
medio). Sustituimos la
Artculo Cod.Prov tabla superior de la
Maz 154 izquierda por la tabla
inferior.
Arroz 145
Segunda forma normal
Crear tablas independientes para
conjuntos de valores que se apliquen a
varios registros.
Relacionar dichas tablas mediante una
clave externa.
Los registros tan slo deben depender de la
clave principal de una tabla (si es
necesario, puede ser una clave
compuesta).
Ejemplo
piense en la direccin de un cliente en un
sistema de contabilidad. La direccin es
necesitada por la tabla Clientes pero por
las tablas Pedidos, Facturas y Cuentas a
cobrar tambin. En lugar de almacenar la
direccin del cliente como una entrada
diferente en cada tabla, almacnela en un
nico lugar, ya sea en la tabla Clientes o
en una tabla de direcciones independiente.
Tercera forma normal
Eliminar los campos que no dependan de la clave. Los valores de
un registro que no forman parte de la clave de dicho registro no
pertenecen a esa tabla. En general, siempre que el contenido de un
grupo de campos se puede aplicar a ms de un registro de la tabla,
debe tener en cuenta la posibilidad de incluir dichos campos en una
tabla independiente.

EXCEPCIN: No es prctico siempre cumplir la forma tercera


normal tericamente conveniente. Si tiene una tabla Clientes y
desea eliminar todas las posibles dependencias entre campos,
debe crear tablas independientes para ciudades, cdigos postales,
representantes de ventas, clases de clientes y cualquier otro factor
que pueda aparecer duplicado en varios registros. En teora, la
normalizacin merece la pena. Sin embargo, la utilizacin de un
gran nmero de tablas pequeas puede perjudicar el rendimiento o
superar la capacidad de memoria y de archivos abiertos del
sistema.
Otras formas normales
Otras formas de normalizacin
Existe una cuarta forma normal, llamada
tambin Forma normal de Boyce Codd
(BCNF), y una quinta forma normal, pero
pocas veces se consideran prcticas en
un diseo. La omisin de estas reglas
puede dar como resultado una tabla que
no sea perfecta, pero no debera afectar a
su funcionamiento
Haga esta tabla en Access para normalizarla. La tabla se llama alumnos
Primera forma normal: Ningn
grupo repetido
Como cada alumno se encuentra inscrito
en varios cursos, estos deben aparecer
en una tabla independiente. Los campos
curso1, curso2, curso3 de los registros
anteriores indican que existe un problema
en el diseo.
Segunda forma Normal: Elimine
datos redundantes
Curso no depende del carn (que ser
nuestra clave principal) por lo que la tabla
no esta en la segunda forma normal.
Debemos separar la informacin de los
cursos-alumnos a otra tabla. Haremos la
tabla asignaciones.
Asignaciones

Tabla alumnos luego del cambio


Tercera forma Normal: Eliminar
datos que no dependen de la clave
De el ltimo ejemplo la oficina del asesor
depende funcionalmente del atributo
asesor. La solucin es mover dicho
atributo de la tabla alumnos a la tabla
personal, como se muestra a
continuacin.
Tabla Alumno

Tabla Personal
Normalizada
Hemos llegado finalmente a una base de
datos bien organizada en la cual podemos
actualizar o cambiar los datos
almacenados fcilmente y de una manera
ordenada sin alterar los dems registros.

También podría gustarte