En la teoría de bases de datos , una dependencia multivalor es una restricción completa entre dos conjuntos de atributos en una relación .
A diferencia de la dependencia funcional , la dependencia multivalor requiere que ciertas 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 , con solo dos conjuntos de valores involucrados, 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: [1]
Sea un esquema de relación y sean y conjuntos de atributos. La dependencia multivalor (" multidetermina ") se cumple si, para cualquier relación legal y todos los pares de tuplas y en tales que , existen tuplas y en tales que:
De manera informal, si uno denota por la tupla que tiene valores para colectivamente iguales a , entonces siempre que las tuplas y existan en , las tuplas y también deberían existir 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 lo impartirán:
Debido a que los profesores asociados al curso y los libros asociados al curso son independientes entre sí, este diseño de base de datos tiene una dependencia multivalor; si añadiéramos un nuevo libro al curso de AHA, tendríamos que añadir un registro para cada uno de los profesores de ese curso, y viceversa.
Dicho de forma formal, hay dos dependencias multivalor en esta relación: {curso} {libro} y, equivalentemente, {curso} {profesor}. Las bases de datos con dependencias multivalor presentan, por tanto, redundancia. En la normalización de bases de datos , la cuarta forma normal requiere que, para cada dependencia multivalor no trivial X Y , X sea una superclave . Una dependencia multivalor X Y es trivial si Y es un subconjunto de X , o si es el conjunto completo 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 de R en ( X , Y ) y ( X , R − Y ) es una descomposición de unión sin pérdida si y solo si X Y se cumple en R .
- Cada FD es un MVD porque si X Y, entonces intercambiar Y entre tuplas que concuerdan en X no crea nuevas tuplas.
- La división no se sostiene. Al igual que en el caso de los FD, por lo general no podemos dividir el lado izquierdo de un MVD. Pero a diferencia de los FD, tampoco podemos dividir el lado derecho; a veces es necesario dejar varios atributos en el lado derecho.
- El cierre de un conjunto de MVD es el conjunto de todos los MVD que pueden inferirse utilizando las siguientes reglas ( axiomas de Armstrong ):
- Complementación : Si X Y, entonces X R - Y
- Aumento : Si X Y y Z W, entonces XW YZ
- Transitividad : Si X Y e Y Z, entonces X Z - Y
- Replicación : Si X Y, entonces X Y
- Coalescencia : Si X Y y W st W Y = , W Z y Z Y, entonces X Z
Definiciones
- Restricción total
- Una restricción que expresa algo acerca de todos los atributos en una base de datos. (A diferencia de una restricción incrustada ). Que una dependencia multivalor es una restricción completa se desprende de su definición, como cuando dice algo acerca de los atributos .
- Dependencia generadora de tuplas
- Una dependencia que requiere explícitamente que ciertas tuplas estén presentes en la relación.
- Dependencia multivalor trivial 1
- Una dependencia multivalor que involucra todos los atributos de una relación, es decir . Una dependencia multivalor trivial implica, para las tuplas y , tuplas y que son iguales a y .
- Dependencia multivalor trivial 2
- Una dependencia multivalor para la cual .
Referencias
Enlaces externos
- Dependencias multivaloradas y una nueva forma normal para bases de datos relacionales (PDF) - Ronald Fagin, IBM Research Lab
- Sobre la estructura de las relaciones de Armstrong para dependencias funcionales (PDF) - CATRIEL BEERI (The Hebrew University), MARTIN DOWD (Rutgers University), RONALD FAGIN (IBM Research Laboratory) Y RICHARD STATMAN (Rutgers University)
- Sobre un problema de Fagin relativo a las dependencias multivaloradas en bases de datos relacionales (PDF) - Sven Hartmann, Universidad Massey