Está en la página 1de 18

Normalizaciones de Bases de

Datos

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
Arroz

Granja

Casita

Cdigo

Proveedor

145

Casita

154

Granja

Artculo

Cod.Prov

Maz

154

Arroz

145

En lugar de hacer varios


campos para los proveedores
en una sola tabla, hacemos
otra tabla con el campo
proveedor y colocamos varios
registros para los
proveedores (tabla de en
medio). Sustituimos la tabla
superior de la izquierda por
la tabla inferior.

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