Cuarta y quinta forma normal. Desnormalización
La normalización de una tabla puede ser hasta 5FN. De momento hemos visto hasta la FNBC, forma intermedia entre la tercera y la cuarta forma normal. En la práctica, llegar hasta aquí suele ser suficiente, puesto que seguir avanzando hasta la cuarta suele provocar un excesivo particionado de la tabla, dificultando no solo el diseño de la base de datos, sino su comprensión, y lo que es peor, su posterior utilización. La llegada a estas formas normales es una decisión personal del diseñador de la base de datos, puesto que llegar hasta la FNBC ya puede ser suficiente como para dejar la base de datos en un buen estado.
Sin embargo es necesario explicar los conceptos que quedan
Cuarta forma normal: 4FN
Una relación está en 4 FN si ya está en la FNBC y además no existen dependencias multivaluadas. Es decir, no se aceptan atributos que dependan de un multivalor.
Veamos un ejemplo sencillo:
FIGURA |
COLOR |
TAMAÑO |
Esfera |
Rojo |
Grande |
Esfera |
Verde |
Grande |
Cubo |
Blanco |
Grande |
Cubo |
Azul |
Grande |
Pirámide |
Blanco |
Mediano |
Pirámide |
Blanco |
Grande |
Pirámide |
Rojo |
Grande |
La Figura determina valores múltiples de Color, Tamaño y Color, Tamaño. Todas estas son independientes entre sí si estuvieran separadas. Sin embargo se repiten: Esfera grande, Pirámide blanco y Pirámide grande. Estas repeticiones entre la figura y el tamaño hace que no esté en 4 Forma Normal.
La solución al planteamiento anterior, es realizar dos tablas en la que se encuentre en una de ellas: La figura y el color. Y en otra de ellas: La figura y el tamaño.
T_COLOR :{(FIGURA: texto), (COLOR: texto)}
T_TAMAÑO :{(CA_FIGURA: texto), (TAMAÑO: texto)}
T_TAMAÑO --> CA_FIGURA --> T_COLOR
Quinta Forma Normal: 5FN
Una relación está en 5FN si está en 4FN y además no existen restricciones impuestas por el creador de la BD. Una restricción de este tipo puede ser por ejemplo que una tabla se divida en subtablas. Esta forma normal tiene poca aplicación práctica porque dificulta el diseño ya que genera un número enorme de tablas.
Desnormalización
¿Hasta dónde hay que llegar? ¿Es necesario llegar a quinta forma normal?
La principal ventaja de la normalización es que divide una gran tabla en tablas más pequeñas: Pasamos de una tabla de 100 campos a 20 tablas de 5 campos cada una. Pero ésto a la vez puede generar un problema: La excesiva partición de las tablas y la aparición de numerosas tablas que dificulten el uso de la base de datos
Por eso nace el concepto de desnormalización: Volver atrás, asumiendo que nuestra solución puede generar redundancia, pero facilitando el uso de la base de datos.
A la hora de diseñar una base de datos es tan importante la normalización de la misma como la facilidad de uso: Si una excesiva normalización complica la compresión y el uso de la base de datos, es mejor dejarla en una forma normal anterior.