Tema+7.5+Teoría+de+Normalización

=TEMA 7= =5. Teoría de normalización=

El proceso de normalización de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional. Las bases de datos relacionales se normalizan para:
 * Evitar la redundancia de los datos.
 * Evitar problemas de actualización de los datos en las tablas.
 * Proteger la integridad de los datos.

Para un análisis introductorio, nos basaremos en la siguiente tabla de autores y libros:


 * = NOMBRE ||= NACIONALIDAD ||= COD_LIB ||= TÍTULO ||= EDITOR ||
 * = Date ||= USA ||= 999 ||= IBD ||= AW ||
 * = Ad.Mig. ||= ESPAÑA ||= 888 ||= CyD ||= RM ||
 * = Ma.Piat. ||= ITALIA ||= 888 ||= CyD ||= RM ||
 * = Date ||= USA ||= 777 ||= BdD ||= AW ||

Se plantean una serie de problemas:
 * **Redundancia:** Cuando un autor tiene varios libros, se repite la nacionalidad.
 * **Anomalías de modificación:** Si Ad.Mig y Ma.Piat. desean cambiar de editor, se modifica en los 2 lugares. A priori no podemos saber cuántos autores tiene un libro. Los errores son frecuentes al olvidar la modificación de un autor. Se pretende modificar en un solo sitio.
 * **Anomalías de inserción:** Se desea dar de alta un autor sin libros, en un principio NOMBRE y COD_LIB son campos clave, una clave no puede tomar valores nulos.

El proceso de normalización es un estándar que consiste, básicamente en un proceso de conversación de las relaciones entre las entidades, evitando:
 * La redundancia de los datos: repetición de datos en un sistema.
 * Anomalías de actualización: inconsistencias de los datos como resultado de datos redundantes y actualizaciones parciales.
 * Anomalías de borrado: pérdidas no intencionadas de datos debido a que se han borrado otros datos.
 * Anomalías de inserción: imposibilidad de adicionar datos en la base de datos debido a la ausencia de otros datos.
 * Integridad entre los datos: consistencia de la información.

La teoría de la normalización ofrece una serie de reglas para efectuar una modelización óptima.

Continuando con el ejemplo, la tabla anterior debería dividirse en 3 tablas: AUTORES (NOMBRE, NACIONALIDAD) LIBROS (COD_LIB, TITULO, EDITOR) ESCRIBE ( NOMBRE, COD_LIB)

En los años 70 Codd creó las bases de la teoría de la normalización. A cada regla de la teoría la denominó forma normal. Codd creó las formas normales 1ª, 2ª, 3ª. La 3ª forma normal originó problemas. Boyce ayudo a solventarlos con la F.N de Boyce-Codd (FNBC). A finales de los 70 Fagin creó las formas normales 4ª y 5ª. Las formas normales se basan en el concepto de dependencia, que comprende las restricciones definidas sobre los atributos de una relación. Existen diferentes tipos de dependencia:
 * Dependencias funcionales (Formas normales 1ª, 2ª, 3ª y FNBC)
 * Dependencias multivaluadas (4ª forma normal)
 * Dependencia de JOIN (5ª forma normal)

El proceso de normalización nos conduce hasta el modelo físico de datos y consta de varias fases denominadas formas normales.