La quinta forma normal ( 5NF ), también conocida como forma normal de proyección-unión ( PJ/NF ), es un nivel de normalización de bases de datos diseñado para eliminar la redundancia en bases de datos relacionales que registran hechos multivaluados mediante el aislamiento de relaciones múltiples relacionadas semánticamente . Se dice que una tabla está en la 5NF si y solo si cada dependencia de unión no trivial en esa tabla está implícita en las claves candidatas . Es la forma normal final en lo que respecta a la eliminación de redundancia.
También existe un 6NF , pero su propósito no es eliminar la redundancia y, por lo tanto, solo lo adoptan unos pocos almacenes de datos , donde puede ser útil para hacer que las tablas sean irreducibles.
Una dependencia de unión *{A, B, … Z} en R está implícita en la(s) clave(s) candidata(s) de R si y solo si cada una de A, B, …, Z es una superclave para R. [1]
La quinta forma normal fue descrita por primera vez por Ronald Fagin en su artículo de conferencia de 1979 Formas normales y operadores de bases de datos relacionales . [2]
Consideremos el siguiente ejemplo:
Viajante de comercio | Marca | Tipo de producto |
---|---|---|
Jack Schneider | Cumbre | Aspiradora |
Jack Schneider | Cumbre | Caja de pan |
María Jones | Robusto | Tijeras de podar |
María Jones | Robusto | Aspiradora |
María Jones | Robusto | Caja de pan |
María Jones | Robusto | Paragüero |
Luis Ferguson | Robusto | Aspiradora |
Luis Ferguson | Robusto | Telescopio |
Luis Ferguson | Cumbre | Aspiradora |
Luis Ferguson | Cumbre | Lámpara de lava |
Luis Ferguson | Nimbo | Perchero para corbatas |
El predicado de la tabla es: los productos del tipo designado por tipo de producto , fabricados por la marca designada por marca , están disponibles a través del vendedor viajero designado por vendedor viajero .
La clave principal es la combinación de las tres columnas. Observe también que la tabla está en 4NF , ya que no hay dependencias multivalor ( dependencias de unión de dos partes ) en la tabla: ninguna columna (que por sí misma no es una clave candidata o una superclave) es determinante para las otras dos columnas.
En ausencia de reglas que restrinjan las combinaciones válidas posibles de vendedor ambulante, marca y tipo de producto, la tabla de tres atributos anterior es necesaria para modelar la situación correctamente.
Supongamos, sin embargo, que se aplica la siguiente regla: un vendedor ambulante tiene ciertas marcas y ciertos tipos de productos en su repertorio. Si las marcas B1 y B2 están en su repertorio, y el tipo de producto P está en su repertorio, entonces (suponiendo que las marcas B1 y B2 ambas fabrican el tipo de producto P), el vendedor ambulante debe ofrecer los productos del tipo de producto P fabricados por la marca B1 y los fabricados por la marca B2.
En ese caso, es posible dividir la tabla en tres:
Viajante de comercio | Tipo de producto |
---|---|
Jack Schneider | Aspiradora |
Jack Schneider | Caja de pan |
María Jones | Tijeras de podar |
María Jones | Aspiradora |
María Jones | Caja de pan |
María Jones | Paragüero |
Luis Ferguson | Telescopio |
Luis Ferguson | Aspiradora |
Luis Ferguson | Lámpara de lava |
Luis Ferguson | Perchero para corbatas |
Viajante de comercio | Marca |
---|---|
Jack Schneider | Cumbre |
María Jones | Robusto |
Luis Ferguson | Robusto |
Luis Ferguson | Cumbre |
Luis Ferguson | Nimbo |
Marca | Tipo de producto |
---|---|
Cumbre | Aspiradora |
Cumbre | Caja de pan |
Cumbre | Lámpara de lava |
Robusto | Tijeras de podar |
Robusto | Aspiradora |
Robusto | Caja de pan |
Robusto | Paragüero |
Robusto | Telescopio |
Nimbo | Perchero para corbatas |
En este caso, es imposible para Louis Ferguson negarse a ofrecer aspiradoras fabricadas por Acme (asumiendo que Acme fabrica aspiradoras) si vende cualquier otra cosa fabricada por Acme (lámpara de lava) y también vende aspiradoras fabricadas por cualquier otra marca (Robusto).
Observe cómo esta configuración ayuda a eliminar la redundancia. Supongamos que Jack Schneider comienza a vender los productos de Robusto, como paneras y aspiradoras. En la configuración anterior, tendríamos que agregar dos nuevas entradas, una para cada tipo de producto (<Jack Schneider, Robusto, paneras>, <Jack Schneider, Robusto, aspiradoras>). Con la nueva configuración, solo necesitamos agregar una única entrada (<Jack Schneider, Robusto>) en "marcas por vendedor ambulante".
Solo en raras situaciones una tabla 4NF no se ajusta a 5NF; por ejemplo, cuando las tablas descompuestas son cíclicas . Se trata de situaciones en las que una restricción compleja del mundo real que gobierna las combinaciones válidas de valores de atributos en la tabla 4NF no está implícita en la estructura de esa tabla. Si una tabla de este tipo no está normalizada a 5NF, la carga de mantener la consistencia lógica de los datos dentro de la tabla debe ser asumida en parte por la aplicación responsable de las inserciones, eliminaciones y actualizaciones de la misma; y existe un mayor riesgo de que los datos dentro de la tabla se vuelvan inconsistentes. Por el contrario, el diseño 5NF excluye la posibilidad de tales inconsistencias.
Una tabla T está en quinta forma normal (5NF) o en forma normal de proyección-unión (PJ/NF) si no puede descomponerse sin pérdida en cualquier número de tablas más pequeñas. Se excluye el caso en el que todas las tablas más pequeñas después de la descomposición tengan la misma clave candidata que la tabla T.
forma normal fue introducida por Fagin