Dependencia multivalorada
En la teoría de bases de datos, una dependencia multivalor es una restricción total entre dos conjuntos de atributos en una relación.
A diferencia de la dependencia funcional, la dependencia multivalor requiere que determinadas tuplas estén presentes en una relación. Por lo tanto, una dependencia multivalor es un caso especial de dependencia generadora de tuplas. La dependencia multivalor desempeña un papel en la normalización de bases de datos 4NF.
Una dependencia multivalor es un caso especial de una dependencia de unión, en la que solo intervienen dos conjuntos de valores, es decir, es una dependencia de unión binaria.
Existe una dependencia multivalor cuando hay al menos tres atributos (como X, Y y Z) en una relación y para un valor de X hay un conjunto bien definido de valores de Y y un conjunto bien definido de valores de Z. Sin embargo, el conjunto de valores de Y es independiente del conjunto Z y viceversa.
Definición formal
La definición formal es la siguiente:
Vamos. ser un esquema de relación y dejar y ser conjuntos de atributos. La dependencia multivalorada ("" multidetermines " si, por cualquier relación legal y todos los pares de tuples y dentro tales que , hay tuples y dentro tal que:
Informalmente, si uno denota por el tuple que tiene valores para colectivamente iguales , entonces cada vez que los tuples y existen en , los tuples y debe existir también en .
La dependencia multivalor se puede representar esquemáticamente como se muestra a continuación:
Ejemplo
Consideremos este ejemplo de una relación de cursos universitarios, los libros recomendados para el curso y los profesores que impartirán el curso:
Curso | Libro | Profesor |
---|---|---|
AHA | Silberschatz | John D |
AHA | Nederpelt | John D |
AHA | Silberschatz | William M |
AHA | Nederpelt | William M |
AHA | Silberschatz | Christian G |
AHA | Nederpelt | Christian G |
OSO | Silberschatz | John D |
OSO | Silberschatz | William M |
Dado que los profesores adjuntos al curso y los libros adjuntos al curso son independientes entre sí, este diseño de bases de datos tiene una dependencia multivalorada; si añadiéramos un nuevo libro al curso AHA, tendríamos que añadir un registro para cada uno de los profesores en ese curso, y viceversa.
Dicho formalmente, hay dos dependencias multivaloradas en esta relación: {course} {book} y equivalentemente {course} {lecturer}.
Las bases de datos con dependencias multivaloradas exhiben redundancia. En la normalización de la base de datos, la cuarta forma normal requiere que por cada dependencia multivalorada notrivial X Y, X es un superkey. Una dependencia multivalorada X Y es trivial si Y es un subconjunto de Xo si es todo el conjunto de atributos de la relación.
Propiedades
- Si Entonces
- Si y Entonces
- Si y Entonces
Los siguientes también implican dependencias funcionales:
- Si Entonces
- Si y Entonces
Las reglas anteriores son válidas y completas.
- Una descomposición R enX, Y) y (X, R − Y) es una descomposición sin pérdidas si y sólo si X Y en R.
- Cada uno FD es un MVD porque si X Y, entonces cambiar Y's entre tuples que aceptan X no crea nuevos tuples.
- La división no aguanta. Como FD's, generalmente no podemos dividir el lado izquierdo de un MVD. Pero a diferencia de FD, no podemos dividir el lado derecho tampoco, a veces tienes que dejar varios atributos en el lado derecho.
- Clausura de un conjunto de MVDs es el conjunto de todos los MVD que se pueden inferir usando las siguientes reglas (Axiomas de Armstrong):
- Complementación: Si X Y, entonces X R - Y
- Aumentación: Si X Y y Z W, entonces XW YZ
- Transitividad: Si X Y Y Z, entonces X Z - Y
- Replicación: Si X Y, entonces X Y
- Coalescence: Si X Y W s.t. W Y = W Z, y Z Y, entonces X Z
Definiciones
- Limitación total
- Una limitación que expresa algo sobre Todos atributos en una base de datos. (A diferencia de un restricción incrustada) Que una dependencia multivalorada es una plena limitación sigue de su definición, como donde dice algo sobre los atributos .
- Tuple-generating dependncy
- Una dependencia que requiere explícitamente que ciertos tuplas estén presentes en la relación.
- Dependencia multivalorada trivial 1
- Una dependencia multivalorada que implica todos los atributos de una relación es decir.. Una dependencia trivial multivalorada implica, para tuples y , tuples y que son iguales y .
- Dependencia multivalorada trivial 2
- Una dependencia multivalorada para la cual .
Referencias
- ^ Silberschatz, Abraham; Korth, Sudarshan (2006). Conceptos del sistema de bases de datos (5th ed.). McGraw-Hill. p. 295. ISBN 0-07-124476-X.
Enlaces externos
- Multivalued dependencies and a new Normal form for Relational Databases (PDF) - Ronald Fagin, IBM Research Lab
- On the Structure of Armstrong Relations for Functional Dependencies (PDF) - CATRIEL BEERI (The Hebrew University), MARTIN DOWD (Rutgers University), RONALD FAGIN (IBM Research Laboratory) AND RICHARD STATMAN (Rutgers University)
- On a problem of Fagin concerning multivalued dependencies in relational databases (PDF) - Sven Hartmann, Massey University