lunes, 8 de julio de 2013

Normalización de bases de datos

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:



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



   

No hay comentarios.:

Publicar un comentario