In database theory, a multivalued dependency is a full constraint between two sets of attributes in a relation. In contrast to the functional dependency, the multivalued dependency requires that certain tuples be present in a relation. Therefore, a multivalued dependency is a special case of tuple-generating dependency. The multivalued dependency plays a role in the 4NF database normalization. A multivalued dependency is a special case of a join dependency, with only two sets of values involved, i.e. it is a binary join dependency. A multivalued dependency exists when there are at least three attributes (like X,Y and Z) in a relation and for a value of X there is a well defined set of values of Y and a well defined set of values of Z. However, the set of values of Y is independent of set Z and vice versa.
Formal definition The formal definition is as follows: Let R {\displaystyle R} be a relation scheme and let α ⊆ R {\displaystyle \alpha \subseteq R} and β ⊆ R {\displaystyle \beta \subseteq R} be sets of attributes. The multivalued dependency α ↠ β {\displaystyle \alpha \twoheadrightarrow \beta } (" α {\displaystyle \alpha } multidetermines β {\displaystyle \beta } ") holds on R {\displaystyle R} if, for any legal relation r ( R ) {\displaystyle r(R)} and all pairs of tuples t 1 {\displaystyle t_{1}} and t 2 {\displaystyle t_{2}} in r {\displaystyle r} such that t 1 [ α ] = t 2 [ α ] {\displaystyle t_{1}[\alpha ]=t_{2}[\alpha ]} , there exist tuples t 3 {\displaystyle t_{3}} and t 4 {\displaystyle t_{4}} in r {\displaystyle r} such that:
t 1 [ α ] = t 2 [ α ] = t 3 [ α ] = t 4 [ α ] t 1 [ β ] = t 3 [ β ] t 2 [ β ] = t 4 [ β ] t 1 [ R − β ] = t 4 [ R − β ] t 2 [ R − β ] = t 3 [ 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}}}
… excerpt ends here. Continue reading the full article.
