Introducción
El
propósito de la normalización es mejorar la integridad de los datos a través de
la minimización de la redundancia y la
inconsistencia, pero con algún posible costo en ciertas aplicaciones.
El
término normalización se usa algunas
veces en relación a una forma normal particular.
Esto es, un conjunto de registros puede ser normalizado con respecto a la segunda forma normal pero no con respecto a la
tercera.
¿Qué
es la Normalización?
La normalización es el
proceso mediante el cual se transforman datos complejos a un conjunto de
estructuras de datos más pequeñas, que además de ser más simples y más
estables, son más fáciles de mantener. También se puede entender la
normalización como una serie de reglas que sirven para ayudar a los diseñadores
de bases de datos a desarrollar un esquema que minimice los problemas de
lógica. Cada regla está basada en la que le antecede. La normalización se
adoptó porque el viejo estilo de poner todos los datos en un solo lugar, como
un archivo o una tabla de la base de datos, era ineficiente y conducía a
errores de lógica cuando se trataban de manipular los datos.
Otra
ventaja de la normalización de base de datos es el consumo de espacio. Una base
de datos normalizada ocupa menos espacio en disco que una no normalizada. Hay
menos repetición de datos, lo que tiene como consecuencia un mucho menor uso de
espacio en disco.
El
proceso de normalización tiene un nombre y una serie de reglas para cada fase.
Esto puede parecer un poco confuso al principio, pero poco a poco se va
entendiendo el proceso, así como las razones para hacerlo de esta manera.
Grados de normalización
Existen
básicamente tres niveles de normalización: Primera Forma Normal (1NF), Segunda
Forma Normal (2NF) y Tercera Forma Normal (3NF). Cada una de estas formas tiene
sus propias reglas.
En la
tabla siguiente se describe brevemente en que consiste cada una de las reglas,
y posteriormente se explican con más detalle.
Primera Forma Normal:
La regla
de la Primera Forma Normal establece que las columnas repetidas deben
eliminarse y colocarse en tablas separadas:
Poner la
base de datos en la Primera Forma Normal resuelve el problema de los encabezados
de columna múltiples. Muy a menudo, los diseñadores de bases de datos
inexpertos harán algo similar a la tabla no normalizada. Una y otra vez,
crearán columnas que representen los mismos datos. La normalización ayuda a
clarificar la base de datos y a organizarla en partes más pequeñas y más fáciles
de entender. En lugar de tener que entender una tabla gigantesca y monolítica
que tiene muchos diferentes aspectos,
sólo tenemos que entender los objetos pequeños y más tangibles, así como las
relaciones que guardan con otros objetos también pequeños.
Segunda Forma Normal:
La regla
de la Segunda Forma Normal establece que todas las dependencias parciales se
deben eliminar y separar dentro de sus propias tablas. Una dependencia parcial
es un término que describe a aquellos datos que no dependen de la llave
primaria de la tabla para identificarlos.
Una vez
alcanzado el nivel de la Segunda Forma Normal, se controlan la mayoría de los
problemas de lógica. Podemos insertar un registro sin un exceso de datos en la
mayoría de las tablas.
Tercera Forma Normal:
Una tabla
está normalizada en esta forma si todas las columnas que no son llave son
funcionalmente dependientes por completo de la llave primaria y no hay
dependencias transitivas. Comentamos anteriormente que una dependencia
transitiva es aquella en la cual existen columnas que no son llave que dependen
de otras columnas que tampoco son llave.
Cuando
las tablas están en la Tercera Forma Normal se previenen errores de lógica
cuando se insertan o borran registros. Cada columna en una tabla está
identificada de manera única por la llave primaria, y no debe haber datos
repetidos. Esto provee un esquema limpio y elegante, que es fácil de trabajar y
expandir.
Un
ejemplo completo de Normalización de Base de Datos
Se aplica la primera forma.
Las
tablas deben tener sólo dos dimensiones. Dado que los estudiantes tienen varias
clases, estas clases deben ser listados en una tabla separada. Los campos Clase
1, Clase 2, y Clase 3 en los registros anteriores son indicios de problemas de
diseño.
Las
hojas de cálculo suelen usar la tercera dimensión, pero las tablas no deben.
Otra forma de ver este problema es con una relación uno-a-muchos. Cree otra
tabla en la primera forma normal eliminando el grupo de repetición (clase),
como se muestra a continuación:
Segunda forma:
Tome
en cuenta los múltiples valores para el campo Clase# por cada estudiante en la
tabla anterior. El campo Clase# no es dependiente del campo Estudiante# (llave
primaria) por lo que esta relación no está en la segunda forma normal. Las
siguientes tablas muestran como quedarían con la 2ª forma:
Tercera forma normal:
eliminar
los datos que no dependen de la llave
En
el último ejemplo, salón (salón/grupo asignado al asesor) es funcionalmente
dependiente del atributo titular. La solución es mover dicho atributo de la
tabla Alumnos a la tabla de Facultad, como se muestra a continuación:
![](http://4.bp.blogspot.com/-EDyIi3HPQPU/TmwsRzdlt9I/AAAAAAAAAEg/jTgY4ae40Us/s1600/4FN-1.2.jpg)
Conclusión
La
normalización de la información es importante para obtener registros de calidad
que permitan la adecuada recuperación y transferencia de la información.
También es importante la normalización de la Base
de Datos ya que obtendremos datos más
entendibles y esto permitirá darle un mejor mantenimiento a la hora de
actualizar nuestra información ya que esta es uno de los factores principales
de una Organización.
Bibliografía