domingo, 28 de octubre de 2018

Normalizacion

 Normalización de Base de Datos, es el proceso de organizar los datos en una base de datos que incluye la creación de tablas y el establecimiento de relaciones entre ellas.
Este proceso es utilizado para ayudar a eliminar los datos redundantes.
Cinco formas de normalización (FN: Forma normal)
1FN: Eliminar grupos repetitivos
2FN: Eliminar datos redundantes
3FN: Eliminar columnas no depende de clave
4FN: Aislar Relaciones Múltiples Independientes
5FN: Aislar relaciones semánticamente relacionadas múltiples

Primera Forma Normal (1FN)

La primera forma normal significa que los datos están en un formato de entidad, lo que significa que se han cumplido las siguientes condiciones:
  • Eliminar grupos repetidos en tablas individuales
  • Crear una tabla independiente para cada conjunto de datos relacionados
  • Identificar cada conjunto de relacionados con la clave principal
No utilice varios campos en una sola tabla para almacenar datos similares
EJEMPLO DE NORMALIZACIÓN

En el ejemplo tenemos una tabla No Normalizada que contiene Estudiantes, Tutor, Habitación y las Clases 1,2 y 3. Vamos a implementar la primera forma normal, luego la segunda y la tercera. Al aplicarle la primera forma normal eliminamos los grupos repetidos quedándonos con una sola columna de clases y repitiendo los datos del estudiante tutor y habitación y ahora no tenemos grupos repetidos porque aplicamos la primera forma normal (1FN).

Segunda Forma Normal (2FN)

La segunda forma normal asegura que cada atributo describe la entidad
Crear tablas separadas para el conjunto de valores y los registros múltiples, estas tablas se deben relacionar con una clave externa.
Los registros no deben depender de otra cosa que la clave principal de la tabla, incluida la clave compuesta si es necesario
Al pasar a la segunda forma normal vamos a eliminar los datos redundantes, y para lograrlo vamos a crear dos tablas. Una  tabla se llamara Estudiantes donde eliminaremos los datos redundantes quedándonos con los datos únicos (Estudiante, Tutor y Habitación) y en una segunda tabla que llamaremos Registro para el numero de estudiante y las clases que llevara en el ejemplo el estudiante 1606 y 2602 llevara cada uno tres clases. El contenido de la (1FN) Primera Forma Normal que estaba en una tabla ha sido divido en dos tablas para eliminar los datos redundantes e introducirlo a la (2FN) Segunda Forma Normal.

Tercera forma normal (3FN)

La tercera forma normal comprueba las dependencias transitivas, eliminando campos que no dependen de la clave principal.
Los valores que no dependen de la clave principal no pertenecen a la tabla
Los campos que no pertenecen a la clave principal colóquelos en una tabla aparte y relacionen ambas tablas por medio de una clave externa.
Para pasar a la tercera forma normal tenemos que eliminar los campos de No Dependen de la Clave y para lograrlo dividimos la tabla estudiante en dos tablas y creamos la tabla Facultad donde trasladaremos la columna habitación que No Depende de la Clave que es la columna estudiante, el nombre del tutor sera el enlace con al tabla estudiante aunque también podría ser la columna estudiante.

Otras formas de normalización

La cuarta forma normal también se llama la forma normal de Boyce Codd (BCNF) y la quinta forma normal existe, pero rara vez se consideran en el diseño práctico.
El no tener en cuenta estas dos reglas de normalización adicionales puede resultar en un diseño de base de datos menos perfecto pero no debería afectar a la funcionalidad
La normalización de base de datos es un punto muy importante que deberíamos de tomar muy en serio para establecer cimientos sólidos sobre los cuales podemos construir aplicaciones robustas que en el futuro no presenten problemas de base de datos difíciles de solucionar.