La cuarta forma normal ( 4NF ) es una forma normal utilizada en la normalización de bases de datos . Introducida por Ronald Fagin en 1977, la 4NF es el siguiente nivel de normalización después de la forma normal de Boyce-Codd (BCNF). Mientras que la segunda , tercera y las formas normales de Boyce-Codd se ocupan de las dependencias funcionales , la 4NF se ocupa de un tipo de dependencia más general conocida como dependencia multivaluada . Una tabla está en 4NF si y solo si , para cada una de sus dependencias multivaluadas no triviales X Y , {X, Y} es una superclave , es decir, la combinación de todos los atributos en X e Y es una clave candidata o un superconjunto de la misma. [1]
Si los encabezados de columna en una tabla de base de datos relacional se dividen en tres agrupaciones disjuntas X , Y y Z , entonces, en el contexto de una fila particular, podemos hacer referencia a los datos debajo de cada grupo de encabezados como x , y y z respectivamente. Una dependencia multivaluada X Y significa que si elegimos cualquier x que realmente ocurra en la tabla (llamemos a esta elección x c ), y compilamos una lista de todas las combinaciones x c yz que ocurren en la tabla, encontraremos que x c está asociado con las mismas entradas y independientemente de z . Entonces, esencialmente, la presencia de z no proporciona información útil para restringir los posibles valores de y .
Una dependencia multivalor trivial X Y es aquella en la que Y es un subconjunto de X , o bien X e Y juntos forman el conjunto completo de atributos de la relación.
Una dependencia funcional es un caso especial de dependencia multivaluada. En una dependencia funcional X → Y , cada x determina exactamente un y , nunca más de uno.
Consideremos el siguiente ejemplo:
Cada fila indica que un restaurante determinado puede entregar una determinada variedad de pizza a un área determinada.
La tabla no tiene atributos que no sean clave porque su única clave candidata es {Restaurante, Variedad de pizza, Área de entrega}. Por lo tanto, cumple con todas las formas normales hasta BCNF. Sin embargo, si asumimos que las variedades de pizza que ofrece un restaurante no se ven afectadas por el área de entrega (es decir, un restaurante ofrece todas las variedades de pizza que elabora a todas las áreas a las que abastece), entonces no cumple con 4NF. El problema es que la tabla presenta dos dependencias multivalor no triviales en el atributo {Restaurante} (que no es una superclave). Las dependencias son:
Estas dependencias multivalor no triviales de una clave no superclave reflejan el hecho de que las variedades de pizza que ofrece un restaurante son independientes de las áreas a las que el restaurante realiza entregas. Esta situación genera redundancia en la tabla: por ejemplo, se nos dice tres veces que A1 Pizza ofrece pizzas con masa rellena y, si A1 Pizza comienza a producir pizzas con masa de queso, entonces necesitaremos agregar varias filas, una para cada una de las áreas de entrega de A1 Pizza. Además, no hay nada que nos impida hacer esto incorrectamente: podríamos agregar filas con masa de queso para todas las áreas de entrega de A1 Pizza excepto una, y así no respetar la dependencia multivalor {Restaurante} {Variedad de pizza}.
Para eliminar la posibilidad de estas anomalías, debemos colocar los datos sobre las variedades ofrecidas en una tabla diferente de los datos sobre las áreas de entrega, lo que da como resultado dos tablas que están ambas en 4NF:
Por el contrario, si las variedades de pizza ofrecidas por un restaurante a veces variaran legítimamente de un área de entrega a otra, la tabla original de tres columnas satisfaría la 4NF.
Ronald Fagin demostró que siempre es posible lograr 4NF. [2] El teorema de Rissanen también es aplicable en dependencias multivaluadas .
En un artículo de 1992 de Margaret S. Wu se señala que la enseñanza de la normalización de bases de datos normalmente no llega a la 4NF, tal vez debido a la creencia de que las tablas que violan la 4NF (pero que cumplen con todas las formas normales inferiores) rara vez se encuentran en aplicaciones comerciales. Sin embargo, esta creencia puede no ser precisa. Wu informa que en un estudio de cuarenta bases de datos organizacionales, más del 20% contenía una o más tablas que violaban la 4NF pero que cumplían con todas las formas normales inferiores. [3]
Solo en raras ocasiones una tabla 4NF no se ajusta a la forma normal superior 5NF . Se trata de situaciones en las que una restricción compleja del mundo real que rige las combinaciones válidas de valores de atributos en la tabla 4NF no está implícita en la estructura de esa tabla.