La teoría de la normalización no forma parte del modelo relacional, pero establece un procedimiento de trabajo que permite obtener relaciones que tienen una forma deseable porque evitan la existencia de redundancias, sin perder información sobre el sistema que se está diseñando. Esto quiere decir que toda persona que diseñe bases de datos debe aplicar la teoría de la normalización, sin embargo el estudio de la carga de la base de datos puede aconsejar que no se lleven las relaciones hasta la última forma normal, para ganar en eficiencia de la base de datos diseñada
Si tenemos la tabla:
Presenta los siguientes problemas:
Redundancias: el nombre del autor, su nacionalidad, editorial se repite en varias tuplas, por tanto desaprovechamos espacio de almacenamiento.
Errores en las modificaciones: podríamos cambiar el nombre de la editorial EYROLLES en el registro correspondiente a GARDARIN, sin modificarlo para el registro correspondiente a VALDURIEZ, esto implicaría que un mismo libro COMPARACION BD corresponde a dos editoriales diferentes.
No podríamos insertar autores nuevos si no incluimos a la vez un libro ya que la clave del libro forma parte de la clave de la relación.
Tampoco podríamos insertar libros anónimos, pues obligatoriamente debemos incluir el nombre del autor.
Si un determinado autor solamente ha escrito un libro y tenemos que dar de baja dicho libro, obligatoriamente debemos dar de baja al autor, perdiendo información.
Todas estas anomalías proceden de la falta de un análisis riguroso y el motivo es que entre los atributos de la relación existen dependencias que pueden ser:
Dependencias funcionales.
Dependencias multivaluadas.
Dependencias de proyección-combinación.
La teoría de la normalización se basa en detectar y eliminar estas dependencias de las tablas de nuestro sistema, obteniendo relaciones que están en 1ª Forma Normal, 2ª Forma Normal, 3ª Forma Normal, Forma Normal de Boyce/Codd, 4ª Forma Normal y 5ª Forma Normal.
Entre las diferentes formas normales se da la siguiente relación:
De manera que toda relación que esté en 5ª FN está en todas las formas normales anteriores y una relación que esté en 1ª FN no tiene porqué estar en las formas normales anteriores.