A multivalued dependency (MVD) over a relation schema R[U], is an expression of the form X ↠ Y, where X,Y ⊆ U. An instance I of R[U] satisfies X ↠ Y, denoted by I⊧X ↠ Y, if for every two tuples t1, t2 in I such that t1[X] = t2[X], there is another tuple t3 in I such that t3[X] = t1[X] = t2[X], t3[Y ] = t1[Y], and t3[Z] = t2[Z], where Z = U − XY (XY represents X ∪ Y). In other words, for every value of X, the value of attributes in Y is independent of the value of attributes in Z. A multivalued dependencyX ↠ Y is a special case of a join dependency expressed as ⋈[XY,X(U − XY)], which specifies that the decomposition of any instance I satisfying ⋈ [XY,X(U − XY)] into π XY (I) and π X(U−XY)(I) is lossless, i.e., I = π XY (I) ⋈ π X(U−XY)(I).
Multivalued dependencies, like functional dependencies, can cause redundancy in relational databases. For instance, in the following table, each director of the movie The Matrixis recorded once per actor of the...