Articulo de referencia

dependencia multivaluada

En la teoría de bases de datos , una dependencia multivaluada es una restricción completa entre dos conjuntos de atributos en una relación . A diferencia de la dependencia funci...

En la teoría de bases de datos , una dependencia multivaluada es una restricción completa entre dos conjuntos de atributos en una relación .

A diferencia de la dependencia funcional , la dependencia multivaluada requiere que ciertas tuplas estén presentes en una relación. Por lo tanto, una dependencia multivaluada es un caso especial de dependencia generadora de tuplas . La dependencia multivaluada desempeña un papel en la normalización de bases de datos 4NF .

Una dependencia multivaluada 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 multivaluada cuando hay al menos tres atributos (como X, Y y Z) en una relación y para un valor de X existe 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 de Z y viceversa.

Definición formal

La definición formal es la siguiente: [ 1 ]

DejarR{\displaystyle R}ser un esquema de relación y dejarαR{\displaystyle \alpha \subsetequ R}yβR{\displaystyle \beta \subsetequ R}ser conjuntos de atributos. La dependencia multivaluadaαβ{\displaystyle \alpha \twoheadrightarrow \beta }("α{\displaystyle \alpha }multideterminantesβ{\displaystyle \beta }") se mantiene enR{\displaystyle R}si, por cualquier relación jurídicar(R){\displaystyle r(R)}y todos los pares de tuplast1{\displaystyle t_{1}}yt2{\displaystyle t_{2}}enr{\displaystyle r}de tal manera quet1[α]=t2[α]{\displaystyle t_{1}[\alpha ]=t_{2}[\alpha ]}, existen tuplast3{\displaystyle t_{3}}yt4{\displaystyle t_{4}}enr{\displaystyle r}de tal manera que:

t1[α]=t2[α]=t3[α]=t4[α]t1[β]=t3[β]t2[β]=t4[β]t1[Rβ]=t4[Rβ]t2[Rβ]=t3[Rβ]{\displaystyle {\begin{matrix}t_{1}[\alpha ]=t_{2}[\alpha ]=t_{3}[\alpha ]=t_{4}[\alpha ]\\t_{1}[\beta ]=t_{3}[\beta ]\\t_{2}[\beta ]=t_{4}[\beta ]\\t_{1}[R-\beta ]=t_{4}[R-\beta ]\\t_{2}[R-\beta ]=t_{3}[R-\beta ]\end{matrix}}}

De manera informal, si uno denota por(incógnita,y,z){\displaystyle (x,y,z)}la tupla que tiene valores paraα,{\displaystyle \alpha ,}β,{\displaystyle \beta ,}Rαβ{\displaystyle R-\alpha -\beta }colectivamente igual aincógnita,{\displaystyle x,}y,{\displaystyle y,}z{\displaystyle z}, entonces siempre que las tuplas(a,b,do){\displaystyle (a,b,c)}y(a,d,mi){\displaystyle (a,d,e)}existen enr{\displaystyle r}, las tuplas(a,b,mi){\displaystyle (a,b,e)}y(a,d,do){\displaystyle (a,d,c)}También debería existir enr{\displaystyle r}.

La dependencia multivaluada se puede representar esquemáticamente como se muestra a continuación:

tuplaαβRαβt1a1..anorteb1..bmetrod1..dkt2a1..anortedo1..dometromi1..mikt3a1..anorteb1..bmetromi1..mikt4a1..anortedo1..dometrod1..dk{\displaystyle {\begin{matrix}{\text{tupla}}&\alpha &\beta &R-\alpha -\beta \\t_{1}&a_{1}..a_{n}&b_{1}..b_{m}&d_{1}..d_{k}\\t_{2}&a_{1}..a_{n}&c_{1}..c_{m}&e_{1}..e_{k}\\t_{3}&a_{1}..a_{n}&b_{1}..b_{m}&e_{1}..e_{k}\\t_{4}&a_{1}..a_{n}&c_{1}..c_{m}&d_{1}..d_{k}\end{matrix}}}

Ejemplo

Consideremos este ejemplo de relación entre los 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 multivaluada; si añadiéramos un nuevo libro al curso AHA, tendríamos que añadir un registro por cada uno de los profesores de ese curso, y viceversa. Dicho formalmente, existen dos dependencias multivaluadas en esta relación: {curso} {\displaystyle \twoheadrightarrow } {libro} y, de forma equivalente, {curso} {\displaystyle \twoheadrightarrow } {profesor}. Las bases de datos con dependencias multivaluadas presentan, por lo tanto, redundancia. En la normalización de bases de datos , la cuarta forma normal requiere que para cada dependencia multivaluada no trivial X {\displaystyle \twoheadrightarrow } Y , X es una superclave . Una dependencia multivaluada X{\displaystyle \twoheadrightarrow }Y es trivial si Y es un subconjunto de X , o siincógnitaY{\displaystyle X\cup Y}es el conjunto completo de atributos de la relación.

Propiedades

  • Siαβ{\displaystyle \alpha \twoheadrightarrow \beta }, EntoncesαRβ{\displaystyle \alpha \twoheadrightarrow R-\beta }
  • Siαβ{\displaystyle \alpha \twoheadrightarrow \beta }yγδ{\displaystyle \gamma \subseteq \delta }, Entoncesαδβγ{\displaystyle \alpha \delta \twoheadrightarrow \beta \gamma}
  • Siαβ{\displaystyle \alpha \twoheadrightarrow \beta }yβγ{\displaystyle \beta \twoheadrightarrow \gamma }, entoncesαγβ{\displaystyle \alpha \twoheadrightarrow \gamma -\beta }

Las siguientes también implican dependencias funcionales :

  • Siαβ{\displaystyle \alpha \rightarrow \beta }, entoncesαβ{\displaystyle \alpha \twoheadrightarrow \beta }
  • Siαβ{\displaystyle \alpha \twoheadrightarrow \beta }yβγ{\displaystyle \beta \rightarrow \gamma }, entoncesαγβ{\displaystyle \alpha \twoheadrightarrow \gamma -\beta }

Las reglas anteriores son só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     {\displaystyle \twoheadrightarrow } Y se cumple en R. 
  • Cada FD ( dependencia funcional ) es una MVD (dependencia multivaluada) porque si X{\displaystyle \rightarrow }Y, entonces intercambiar Y entre tuplas que coinciden en X no crea nuevas tuplas.
  • La división no es posible. Al igual que con los descriptores de archivo (FD), generalmente 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 se pueden inferir utilizando las siguientes reglas ( axiomas de Armstrong ):
    • Complementación : Si X{\displaystyle \twoheadrightarrow }Y, luego X{\displaystyle \twoheadrightarrow }R - Y
    • Aumento : Si X{\displaystyle \twoheadrightarrow }Y y Z{\displaystyle \subseteq }W, luego XW{\displaystyle \twoheadrightarrow }YZ
    • Transitividad : Si X{\displaystyle \twoheadrightarrow }Y y Y{\displaystyle \twoheadrightarrow }Z, luego X{\displaystyle \twoheadrightarrow }Z - Y
    • Replicación : Si X{\displaystyle \rightarrow }Y, luego X{\displaystyle \twoheadrightarrow }Y
    • Coalescencia : Si X{\displaystyle \twoheadrightarrow }Y y{\displaystyle \exists }W calle W{\displaystyle \cap }Y ={\displaystyle \emptyset }, W{\displaystyle \rightarrow }Z y Z{\displaystyle \subseteq }Y, luego X{\displaystyle \rightarrow }Z

Definiciones

Restricción total
Una restricción que expresa algo sobre todos los atributos de una base de datos. (En contraste con una restricción incrustada ). Que una dependencia multivaluada sea una restricción completa se deduce de su definición, ya que dice algo sobre los atributos.Rβ{\displaystyle R-\beta }.
Dependencia generadora de tuplas
Una dependencia que requiere explícitamente que ciertas tuplas estén presentes en la relación.
Dependencia multivaluada trivial 1
Una dependencia multivaluada que involucra todos los atributos de una relación, es decirR=αβ{\displaystyle R=\alpha \cup \beta }. Una dependencia multivaluada trivial implica, para tuplast1{\displaystyle t_{1}}yt2{\displaystyle t_{2}}, tuplast3{\displaystyle t_{3}}yt4{\displaystyle t_{4}}que son iguales at1{\displaystyle t_{1}}yt2{\displaystyle t_{2}}.
Dependencia multivaluada trivial 2
Una dependencia multivaluada para la cualβα{\displaystyle \beta \subseteq \alpha }.

Referencias

  1. Silberschatz, Abraham ; Korth, Sudarshan (2006). Conceptos de sistemas de bases de datos (5.ª  ed.). McGraw-Hill . pág . 295. ISBN  0-07-124476-X.
  • Dependencias multivaluadas y una nueva forma normal para bases de datos relacionales (PDF) - Ronald Fagin, Laboratorio de Investigación de IBM
  • Sobre la estructura de las relaciones de Armstrong para dependencias funcionales (PDF) - CATRIEL BEERI (Universidad Hebrea), MARTIN DOWD (Universidad de Rutgers), RONALD FAGIN (Laboratorio de Investigación de IBM) Y RICHARD STATMAN (Universidad de Rutgers)
  • Sobre un problema de Fagin relativo a las dependencias multivaluadas en bases de datos relacionales (PDF) - Sven Hartmann, Universidad de Massey