Cuarta forma normal

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Forma normal utilizada en la normalización de bases de datos

Cuarta forma normal ()4NF) es un formulario normal utilizado en la normalización de la base de datos. Presentada por Ronald Fagin en 1977, 4NF es el siguiente nivel de normalización después de la forma normal Boyce-Codd (BCNF). Mientras que las formas normales segunda, tercera y Boyce-Codd están relacionadas con dependencias funcionales, 4NF se preocupa por un tipo más general de dependencia conocido como una dependencia multivalorizada. Una tabla está en 4NF si y sólo si, por cada una de sus dependencias no tripuladas X ↠ ↠ {displaystyle twoheadrightarrow } Y, X es un superkey, es decir, X es una clave candidata o una superposición de ella.

Dependencias de varios valores

Si los encabezados de la columna en una tabla de bases de datos relacionales se dividen en tres agrupaciones disyuntivas X, Y, y Z, entonces, en el contexto de una fila particular, podemos referirnos a los datos debajo de cada grupo de encabezados como x, Sí., y z respectivamente. Una dependencia multivalorada X ↠ ↠ {displaystyle twoheadrightarrow } Y significa que si elegimos algo x realmente ocurre en la tabla (llamar esta opción xc), y compilar una lista de todos los xcYz combinaciones que ocurren en la tabla, encontraremos que xc se asocia con el mismo Sí. independientemente de las entradas z. Así que esencialmente la presencia de z no proporciona información útil para limitar los posibles valores de Sí..

A dependencia trivial multivalorada X ↠ ↠ {displaystyle twoheadrightarrow } Y es uno donde o Y es un subconjunto de X, o X y Y juntos forman todo el conjunto de atributos de la relación.

Una dependencia funcional es un caso especial de dependencia multivaluada. En una dependencia funcional XY, cada x determina exactamente una y, nunca más de una.

Ejemplo

Considere el siguiente ejemplo:

Pizza Entrega Permutaciones
RestaurantePizza VarietyZona de entrega
A1 PizzaThick CrustSpringfield
A1 PizzaThick CrustShelbyville
A1 PizzaThick CrustCapital City
A1 PizzaCrust of StuffedSpringfield
A1 PizzaCrust of StuffedShelbyville
A1 PizzaCrust of StuffedCapital City
Elite PizzaThin CrustCapital City
Elite PizzaCrust of StuffedCapital City
Pizza de VincenzoThick CrustSpringfield
Pizza de VincenzoThick CrustShelbyville
Pizza de VincenzoThin CrustSpringfield
Pizza de VincenzoThin CrustShelbyville

Cada fila indica que un restaurante determinado puede entregar una variedad determinada de pizza en 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 fabrica en todas las áreas que abastece), entonces no cumple con 4NF. El problema es que la tabla presenta dos dependencias multivaluadas no triviales en el atributo {Restaurante} (que no es una superclave). Las dependencias son:

  • {Restaurante} ↠ ↠ {displaystyle twoheadrightarrow } {Pizza Variety}
  • {Restaurante} ↠ ↠ {displaystyle twoheadrightarrow } {Área de animación}

Estas dependencias multivaloradas no tripuladas de un no-superkey reflejan el hecho de que las variedades de pizza que ofrece un restaurante son independientes de las áreas a las que el restaurante ofrece. Este estado de cosas conduce a la redundancia en la mesa: por ejemplo, se nos dice tres veces que A1 Pizza ofrece Stuffed Crust, y si A1 Pizza comienza a producir pizzas Cheese Crust entonces tendremos que añadir 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 añadir filas de Crust de Queso para todos menos una de las áreas de entrega de A1 Pizza, por lo que no respetan la dependencia multivalorada {Restaurante} ↠ ↠ {displaystyle twoheadrightarrow } {Pizza Variety}.

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 genera dos tablas que están en 4FN:

Variedades por restaurante
RestaurantePizza Variety
A1 PizzaThick Crust
A1 PizzaCrust of Stuffed
Elite PizzaThin Crust
Elite PizzaCrust of Stuffed
Pizza de VincenzoThick Crust
Pizza de VincenzoThin Crust
Zonas de entrega por restaurante
RestauranteZona de entrega
A1 PizzaSpringfield
A1 PizzaShelbyville
A1 PizzaCapital City
Elite PizzaCapital City
Pizza de VincenzoSpringfield
Pizza de VincenzoShelbyville

Por el contrario, si las variedades de pizza que ofrece un restaurante a veces variaran legítimamente de un área de entrega a otra, la tabla original de tres columnas satisfaría 4NF.

Ronald Fagin demostró que siempre es posible lograr 4FN. El teorema de Rissanen también es aplicable en dependencias multivaluadas.

4NF en la práctica

Un artículo de 1992 de Margaret S. Wu señala que la enseñanza de la normalización de bases de datos normalmente no llega a 4NF, quizás debido a la creencia de que las tablas que violan 4NF (pero cumplen con todas las formas normales inferiores) rara vez se encuentran en las 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 4NF mientras cumplían con todas las formas normales inferiores.

Normalización más allá de 4NF

Solo en raras situaciones una tabla 4NF no se ajusta a la forma normal superior 5NF. Estas son situaciones en las que una restricción compleja del mundo real que rige las combinaciones válidas de valores de atributo en la tabla 4NF no está implícita en la estructura de esa tabla.

Contenido relacionado

Marcación demoníaca

En la escena de la piratería informática de la década de 1980, la marcación diabólica era una técnica mediante la cual se usaba una computadora para...

Información digital

Datos digitales, en la teoría de la información y los sistemas de información, es información representada como una cadena de símbolos discretos, cada...

ECJ

ECJ puede...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save