La normalización de la base de datos es el proceso de estructurar una base de datos , generalmente una base de datos relacional , de acuerdo con una serie de los llamados formularios normales para reducir la redundancia de datos y mejorar la integridad de los datos . Fue propuesto por primera vez por Edgar F. Codd como parte de su modelo relacional .
La normalización implica organizar las columnas (atributos) y tablas (relaciones) de una base de datos para garantizar que sus dependencias se apliquen correctamente mediante las restricciones de integridad de la base de datos. Se logra aplicando algunas reglas formales ya sea mediante un proceso de síntesis (creando un nuevo diseño de base de datos) o descomposición (mejorando un diseño de base de datos existente).
Un objetivo básico de la primera forma normal definida por Codd en 1970 era permitir que los datos fueran consultados y manipulados utilizando un "sub-lenguaje de datos universal" basado en la lógica de primer orden . [1] ( SQL es un ejemplo de un sub-lenguaje de datos de este tipo, aunque Codd consideró que tenía graves defectos. [2] )
Cuando se intenta modificar (actualizar, insertar o eliminar) una relación, pueden surgir los siguientes efectos secundarios indeseables en las relaciones que no se han normalizado lo suficiente:
Una base de datos completamente normalizada permite que su estructura se extienda para adaptarse a nuevos tipos de datos sin cambiar demasiado la estructura existente. Como resultado, las aplicaciones que interactúan con la base de datos se ven mínimamente afectadas.
Las relaciones normalizadas y la relación entre una relación normalizada y otra reflejan conceptos del mundo real y sus interrelaciones.