Normalización de bases de datos (Parte 6 y última): Quinta y sexta formas de normalización (5NF) (6NF)



En los demás de la serie hemos ya analizado las formas de normalización hasta la 4a. Hoy veremos la quinta y la sexta formas de normalización (5NF y 6NF).

Quinta forma de normalización

La 5NF fue presentada por el Dr. Ronald Fagin en 1979 en una conferencia denominada "Formas normales y operadores de bases de datos relacionales". Una base de datos cumplirá con la quinta forma de normalización si satisface las siguientes condiciones:

  1. Que cumpla con la 4NF.
  2. No puede escindirse más sin pérdida.
Para poder comprender mejor el concepto, veamos el siguiente ejemplo. Supongamos que tenemos una tabla que nos describa la siguiente declaración: "Si una empresa fabrica ciertos productos y un vendedor los vende, entonces el vendedor siempre venderá los productos de esa compañía". Para el caso, la tabla quedaría así:

Tabla VEP
VendedorEmpresaProducto
V1E1Aspiradora
V1E1Panera
V1E2Tijeras de podar
V1E2Aspiradora
V2E2Panera
V2E2Base de sombrilla
V2E2Aspiradora
V3E2Telescopio
V3E1Aspiradora
V3E1Lámpara de lava
V3E3Corbatero
Esta tabla cumple a la perfección con la 4NF dado que no hay dependencias multivalor en la tabla: ninguna columna es determinante para las otras dos columnas. Las tres columnas son necesarias para tener acceso a todos los registro. Ahora, cambiemos un poco la declaración: "Un vendedor trabaja con ciertas empresas y cuenta con ciertos productos en su repertorio. Si la empresa E1 y la empresa E2 están en su lista, y el producto tal está en su repertorio (en la inteligencia que las empresas E1 y E2 fabriquen ese producto), el vendedor debe poder ofrecer tales productos hechos por las empresas E1 y E2".

Por desgracia, tal como tenemos la tabla no es posible cumplir con esa declaración. La tabla no es muy flexible que digamos y se presta a una gran redundancia. Para que se cumpla, necesitaríamos saber con qué empresas tiene relación el vendedor, qué productos puede ofrecer, y qué empresas fabrican determinados productos. Ello nos obliga a dividir la tabla anterior en tres tablas para poder cumplir con la 5NF, de la siguiente forma:

Tabla VP
VendedorProducto
V1Aspiradora
V1Panera
V1Tijeras de podar
V2Aspiradora
V2Panera
V2Base de sombrilla
V3Telescopio
V3Aspiradora
V3Lámpara de lava
V3Corbatero
Tabla VE
VendedorEmpresa
V1E1
V1E2
V2E2
V3E1
V3E2
V3E3
Tabla EP
EmpresaProducto
E1Aspíradora
E1Panera
E1Lámpara de lava
E2Tijeras de podar
E2Aspiradora
E2Panera
E2Base de sombrilla
E2Telescopio
E3Corbatero
Con lo anterior, es imposible que el Vendedor 1 se niegue a vender las aspiradoras hechas por la Empresa 1 (en el entendido de que la Empresa 1 fabrique aspiradoras, lo cual es cierto) si vende cualquier otra cosa hecha por esa empresa y si, además, pretende vender una aspiradora de la Empresa 2. Con esta normalización eliminamos la redundancia.

Como ya había comentado en el anterior de la serie, existen muy raras situaciones en que una tabla que ya cumpla con 4NF no lo haga con 5NF.  

Sexta forma de normalización

La sexta forma de normalización es muy reciente. Fue presentada a finales de la década de los años 90 por Christopher J. Date. En esta normalización la variable de relación se descompone hasta componentes irreductibles. Una base de datos cumplirá con la sexta forma de normalización si satisface los siguientes criterios:

  1. Que cumpla con la 5NF
  2. Que cada dependencia de la relación sea trivial.
Para comprender lo anterior, imaginemos la siguiente tabla que está en 5NF:


Tabla MEC
MatrículaEstudianteCalificación
En el caso anterior, las dependencias join serían {Matrícula, Estudiante} y {Matrícula, Calificación}. Para que la anterior tabla cumpla con la 6NF, debería escindirse de la siguiente forma:

Tabla ME
MatrículaEstudiante
Tabla MC
MatrículaCalificación
Con esto quedan satisfechas las seis formas de normalización existentes en la actualidad. ¡Nos seguimos leyendo!

Comentarios

Entradas más populares de este blog

Toshiba Satellite T215-SP1004M

Consecuencias de la falta de mantenimiento en el equipo de cómputo