Guía Completa de Normalización

1FN y 2FN: Fundamentos

  • 1FN (Primera Forma Normal): Garantiza la atomicidad de los datos. Cada celda debe contener un valor único e indivisible, sin listas ni grupos repetitivos, e identificar cada registro mediante una Clave Primaria.
  • 2FN (Segunda Forma Normal): Cumple con la 1FN y elimina dependencias funcionales parciales. En tablas con claves compuestas, los atributos no clave deben depender de la totalidad de dicha clave.

3FN y BCNF: Dependencias y Claves

  • 3FN (Tercera Forma Normal): Basada en la 2FN, elimina dependencias transitivas. Un atributo no clave no puede depender de otro atributo no clave (XYX \rightarrow Y y YZY \rightarrow Z).
  • BCNF (Forma Normal de Boyce-Codd): Versión estricta de 3FN (denominada 3.5FN). Exige que para toda dependencia funcional no trivial XYX \rightarrow Y, el determinante XX sea siempre una clave candidata.

4FN, 5FN y 6FN: Estructuras Avanzadas

  • 4FN (Cuarta Forma Normal): Requiere estar en BCNF y eliminar dependencias multivaluadas, separando atributos independientes que implican conjuntos de valores.
  • 5FN (Forma Normal de Proyección-Unión / PJ/NF): Evita dependencias de unión no triviales. La tabla no debe poder descomponerse en menores y reconstruirse mediante JOIN sin generar filas falsas o pérdida de información.
  • 6FN (Bases de Datos Temporales): Máxima irreducibilidad. La relación consta únicamente de la clave primaria y un máximo de un atributo adicional. Es utilizada para gestionar historiales de cambios en bases de datos temporales.

7FN (DKNF) y Implementación Práctica

  • 7FN / DKNF (Forma Normal de Dominio-Clave): Nivel definitivo donde todas las restricciones son consecuencia lógica de los dominios y las claves. Previene matemáticamente todas las anomalías lógicas.
  • En la Práctica: El diseño estándar para aplicaciones comerciales (OLTP) suele limitarse a la 3FN o BCNF. Los niveles avanzados (4FN a 7FN) se reservan para Data Warehouses o sistemas de alta complejidad estructural, ya que pueden ralentizar consultas en entornos comunes debido al exceso de particiones.