Articulo de referencia

Forma normal de clave de dominio

La forma normal de clave de dominio ( DK/NF o DKNF ) es una forma normal utilizada en la normalización de bases de datos que requiere que la base de datos no contenga ninguna re...

La forma normal de clave de dominio ( DK/NF o DKNF ) es una forma normal utilizada en la normalización de bases de datos que requiere que la base de datos no contenga ninguna restricción aparte de las restricciones de dominio y las restricciones de clave.

Una restricción de dominio especifica los valores permitidos para un atributo determinado, mientras que una restricción de clave especifica los atributos que identifican de forma única una fila en una tabla determinada.

La forma normal dominio/clave se alcanza cuando cada restricción en la relación es una consecuencia lógica de la definición de claves y dominios, y la aplicación de restricciones y condiciones de clave y dominio garantiza que se cumplan todas las restricciones. De este modo, se evitan todas las anomalías no temporales .

El motivo para utilizar la notación normal de dominio/clave es evitar tener restricciones generales en la base de datos que no sean claramente restricciones de dominio o de clave. La mayoría de las bases de datos pueden comprobar fácilmente las restricciones de dominio y de clave en los atributos. Sin embargo, las restricciones generales normalmente requerirían programación especial de la base de datos en forma de procedimientos almacenados (a menudo del tipo disparador ), cuyo mantenimiento y ejecución resultan costosos para la base de datos. Por lo tanto, las restricciones generales se dividen en restricciones de dominio y de clave.

Es mucho más sencillo crear una base de datos nueva en formato normal de dominio/clave que convertir bases de datos en formatos normales inferiores, que pueden contener numerosas anomalías. Sin embargo, crear con éxito una base de datos en formato normal de dominio/clave sigue siendo una tarea difícil, incluso para programadores de bases de datos experimentados. Por lo tanto, si bien el formato normal de dominio/clave elimina los problemas que se encuentran en la mayoría de las bases de datos, suele ser el formato normal más costoso de lograr. No obstante, no lograr el formato normal de dominio/clave puede acarrear costes ocultos a largo plazo debido a las anomalías que aparecen con el tiempo en las bases de datos que solo se adhieren a formatos normales inferiores.

La tercera forma normal , la forma normal de Boyce-Codd , la cuarta forma normal y la quinta forma normal son casos especiales de la forma normal de dominio/clave. Todas presentan dependencias funcionales , multivaluadas o de unión que pueden transformarse en superclaves . Los dominios en dichas formas normales no estaban restringidos, por lo que se satisfacen todas las restricciones de dominio. Sin embargo, transformar una forma normal superior en una forma normal de dominio/clave no siempre preserva las dependencias y, por lo tanto, no siempre es posible.

Ejemplo

En la siguiente tabla se produce una violación de DKNF:

(Supongamos que el dominio para "Persona adinerada" consta de los nombres de todas las personas adineradas en una muestra predefinida de personas adineradas; el dominio para "Tipo de persona adinerada" consta de los valores "Millonario" y "Multimillonario"; y el dominio para "Patrimonio neto en dólares" consta de todos los números enteros mayores o iguales a 1.000.000).

Existe una restricción que vincula el tipo de persona adinerada con el patrimonio neto en dólares, aunque no podemos deducir uno del otro . Esta restricción establece que un millonario tendrá un patrimonio neto de entre 1.000.000 y 999.999.999, mientras que un multimillonario tendrá un patrimonio neto de 1.000.000.000 o superior. Esta restricción no es ni de dominio ni de clave; por lo tanto, no podemos confiar en las restricciones de dominio ni en las de clave para garantizar que una combinación inconsistente de tipo de persona adinerada y patrimonio neto en dólares no se introduzca en la base de datos.

La infracción de DKNF podría eliminarse suprimiendo la columna "Tipo de persona adinerada". La condición de millonario o multimillonario de una persona se determina por su patrimonio neto en dólares, tal como se define en la tabla "Estado de riqueza", por lo que no se pierde información útil.

claves foráneas

Las relaciones que resulta imposible expresar como claves foráneas constituyen violaciones evidentes de la DKNF. Por ejemplo, un atributo "ID de padre" que apunta a una de varias tablas referenciadas, dependiendo de un segundo atributo "Tipo de padre", viola la DKNF.

Véase también

Referencias

  • Fagin, Ronald (1981). "Una forma normal para bases de datos relacionales basada en dominios y claves" (PDF) . ACM Transactions on Database Systems . 6 (3): 387– 415. CiteSeerX 10.1.1.73.373 . doi : 10.1145/319587.319592 . S2CID 14664427 .  
  • Conceptos básicos de normalización de bases de datos. Archivado el 5 de febrero de 2007 en Wayback Machine por Mike Chapple (About.com).
  • Introducción a la normalización de bases de datos, por Mike Hillyer.
  • Normalización realizada por ITS, Universidad de Texas.
  • Un tutorial sobre las tres primeras formas normales por Fred Coulson
  • Descripción de los fundamentos de la normalización de bases de datos por Microsoft