Cuarta forma normal

Un esquema de relaciones R esta en 4NF con respecto a un conjunto D de dependencias funcionales si para todas las dependencias multivaluadas de D+ de la forma  ->->->->b , donde  Í R y bÍR, se cumple por lo menos una de las siguientes condiciones:

* ->->->->b es una dependencia multivaluada trivial.
*  es una superclave del esquema R. Un diseño de bases de datos esta en 4NF si cada miembro del conjunto de esquema de relaciones que comprende el diseño esta en 4NF. La analogía entre 4NF y BCNF se aplica al algoritmo para descomponer un esquema en 4NF. La siguiente figura muestra un algoritmo de descomposición en 4NF.

resultado := {R};
listo:=falso;
calcular F+;
while (not listo ) do
if (existe un esquema Ri en resultado que no esta en 4NF )
then begin
sea  ->->->->b una dependencia multivaluada no trivial que se cumple en Ri tal que  ->-> Ri no esta F+, y
Çb=Æ ;
resultado:=(resultado – Ri) È( Ri -b)È( ,b) ;
end;
else listo:=verdadero;

Hemos visto que si nos dan un conjunto de dependencias funcionales y multivaluadas, resulta provechoso encontrar un diseño de bases de datos que se ajuste a los tres criterios siguientes:

* 4NF
* conservación de las dependencias
* Producto sin perdida. Si todo lo que tenemos son dependencias funcionales, el primer criterio es justo el de BCNF. Es posible que no se logran los tres criterios antes mencionados, y es aun donde se abandona 4NF, y aceptamos BCNF o incluso 3NF, si es necesario para asegurar la conservación de las dependencias.