Está en la página 1de 4

Dependencia de dominio y clave

La forma normal de dominio/clave (DKNF) fue definida por Fagin en 1981, se usa
comúnmente en la normalización de bases de datos , en especial requiere que la
base de datos contenga restricciones de dominios y de claves
¿Qué quiere decir esto? Una restricción del dominio especifica los valores
permitidos para un atributo dado, mientras que una restricción clave especifica los
atributos que identifican únicamente una fila en una tabla dada.
Ejemplo:

1. Restricción de dominio - que especifica los valores posibles de algún


atributo. P.ej. Los únicos colores de los autos son azules, blanco, rojo, gris.
P.ej. La edad de una persona está entre 0 y 150.
2. Restricción de clave - que especifica claves de alguna relación. Nota: Todas
las declaraciones clave son dependencia funcional pero no inversas
Estas restricciones son alcanzadas cuando cada una en la relación es una
consecuencia lógica de la definición de claves y dominios, y, haciendo cumplir las
restricciones y condiciones de la clave y del dominio, causa que sean satisfechas
todas las restricciones. Así, esto evita todas las anomalías como datos
multivaluados, o la redundancia de datos.
Es mucho más fácil construir una base de datos en forma normal de dominio/clave
que convertir pequeñas bases de datos que puedan contener numerosas
anomalías. Sin embargo, construir con éxito una base de datos en forma normal
de dominio/clave sigue siendo una tarea difícil, incluso para programadores
experimentados de bases de datos.
A pesar de lo anterior descrito, posee distintos beneficios mientras que la forma
normal de dominio/clave elimina los problemas encontrados en la mayoría de las
bases de datos, tiende para ser la forma normal más costosa de alcanzar. El
problema se encuentra cuando no es posible es el no poder alcanzar la forma
normal de dominio/clave puede llevar costos ocultos a largo plazo, debido a
anomalías que aparecen con el tiempo en las bases de datos que solamente se
adhieren a formas normales más bajas.
Algunas de características esta forma es:
• En DKNF, es fácil construir una base de datos.
• Evita las restricciones generales en la base de datos que no son claras para el
dominio o las restricciones clave.
• Los 3NF, 4NF, 5NF y BCNF son casos especiales del DKNF.
• Se logra cuando cada restricción sobre la relación es una consecuencia lógica de
la definición
Una violación al DKNF ocurre en la siguiente tabla de ejemplo:

Persona rica

DNI Persona rica Tipo de persona rica Valor neto en dólares

123 Millonario excéntrico 124,543,621

456 Multimillonario malvado 6,553,228,893

789 Multimillonario excéntrico 8,829,462,998

012 Millonario malvado 495,565,211

Se asume que el dominio para el DNI Persona rica consiste en los DNI's de toda
la gente rica en una muestra predefinida de gente rica; el dominio para el Tipo
de persona rica consiste en los valores 'Millonario excéntrico', 'Multimillonario
excéntrico', 'Millonario malvado', y 'Multimillonario malvado'; y el dominio para
el Valor neto en dólares consiste en todos los números enteros mayor que o
igual a 1.000.000.
Hay una restricción que liga el Tipo de persona rica al Valor neto en dólares,
incluso aunque no podamos deducir uno del otro. La restricción dicta que
un Millonario excéntrico o Millonario malvado tendrá un valor neto de 1.000.000
a 999.999.999 inclusive, mientras que un Multimillonario excéntrico o
un Multimillonario malvado tendrá un valor neto de 1.000.000.000 o más. Esta
restricción no es ni una restricción de dominio ni una restricción de clave; por lo
tanto, no podemos confiar en las restricciones de dominio y las de clave para
garantizar que una combinación de anómala de Tipo de persona rica / Valor neto
en dólares no tenga cabida en la base de datos.
La violación de la DKNF podría ser eliminada alterando dominio Tipo de persona
rica para hacer que sea consistente con solo dos valores, 'Malvado' y
'Excéntrico' (el estatus de persona rica como un millonario o un multimillonario
es implícito en su Valor neto en dólares, así que no se pierde ninguna
información útil).
Persona rica

DNI Persona rica Tipo de persona rica Valor neto en dólares

123 Excéntrico 124,543,621

456 Malvado 6,553,228,893

789 Excéntrico 8,829,462,998

012 Malvado 495,565,211

Estado de riqueza

Estado Mínimo Máximo

Millonario 1,000,000 999,999,999

Multimillonario 1,000,000,000 999,999,999,999

Por esto mismo DKNF es frecuentemente difícil de alcanzar en la práctica, puede


que llevar la normalización e ir demasiado lejos en la normalización cree un
problema. El dividir una base de datos en tantas tablas puede que toda la base de
datos se vuelva difícil de manejar y sea ineficaz. El rendimiento a pesar de que esté
completamente normalizada puede caer en picada. A menudo, la estructura óptima
para su base de datos es algo desnormalizará. De hecho, las bases de datos
prácticos (los realmente grandes, de todos modos) casi nunca se normalizaron
hasta DK / NF. Uno quiere normalizar las bases de datos diseñadas lo más posible,
sin embargo, esto no siempre trae consigo eficiencia en coste/tiempo.
Referencias
https://web.archive.org/web/20080805014412/http://www.datamodel.org/Normaliza
tionRules.html

https://www.tutorialride.com/dbms/database-normalization.htm
ftp://collectivecomputers.org:21212/books/morebooks/Databases/C.J.%20Date-
Database%20Design%20and%20Relational%20Theory_%20Normal%20Forms%2
0and%20All%20That%20Jazz-O'Reilly%20Media%20(2012).pdf (Pág. [149-150] )
https://www.comp.nus.edu.sg/~lingtw/onf.pdf
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.73.373&rep=rep1&type=
pdf