Multivalued dependency

From Wikipedia, the free encyclopedia

In database theory, 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 2-ary join dependency.

Formal definition

The formal definition is given as follows. [1]

Let R be a relation schema and let \alpha \subseteq R and \beta \subseteq R (subsets). The multivalued dependency
\alpha \twoheadrightarrow \beta
(which can be read as \alpha multidetermines \beta ) holds on R if, in any legal relation r(R), for all pairs of tuples t_{1} and t_{2} in r such that t_{1}[\alpha ]=t_{2}[\alpha ], there exist tuples t_{3} and t_{4} in r such that
t_{1}[\alpha ]=t_{2}[\alpha ]=t_{3}[\alpha ]=t_{4}[\alpha ]
t_{3}[\beta ]=t_{1}[\beta ]
t_{3}[R-\beta ]=t_{2}[R-\beta ]
t_{4}[\beta ]=t_{2}[\beta ]
t_{4}[R-\beta ]=t_{1}[R-\beta ]

In more simple words the above condition can be expressed as follows: if we denote by (x,y,z) the tuple having values for \alpha , \beta , R-\alpha -\beta collectively equal to x, y, z, correspondingly, then whenever the tuples (a,b,c) and (a,d,e) exist in r, the tuples (a,b,e) and (a,d,c) should also exist in r.

Example

Consider this example of a database of teaching courses, the books recommended for the course, and the lecturers who will be teaching the course:

Course Book Lecturer
AHA Silberschatz John D
AHA Nederpelt William M
AHA Silberschatz William M
AHA Nederpelt John D
AHA Silberschatz Christian G
AHA Nederpelt Christian G
OSO Silberschatz John D
OSO Silberschatz William M

Because the lecturers attached to the course and the books attached to the course are independent of each other, this database design has a multivalued dependency; if we were to add a new book to the AHA course, we would have to add one record for each of the lecturers on that course, and vice versa.
Put formally, there are two multivalued dependencies in this relation: {course} \twoheadrightarrow  {book} and equivalently {course} \twoheadrightarrow  {lecturer}.
Databases with multivalued dependencies thus exhibit redundancy. In database normalization, fourth normal form requires that either every multivalued dependency X \twoheadrightarrow  Y is trivial or for every nontrivial multivalued dependency X \twoheadrightarrow  Y, X is a superkey.

Interesting properties

  • If \alpha \twoheadrightarrow \beta , Then \alpha \twoheadrightarrow R-\beta
  • If \alpha \twoheadrightarrow \beta and \gamma \subseteq \delta , Then \alpha \delta \twoheadrightarrow \beta \gamma
  • If \alpha \twoheadrightarrow \beta and \beta \twoheadrightarrow \gamma , then \alpha \twoheadrightarrow \gamma -\beta

The following also involve functional dependencies:

  • If \alpha \rightarrow \beta , then \alpha \twoheadrightarrow \beta
  • If \alpha \twoheadrightarrow \beta and \beta \rightarrow \gamma , then \alpha \twoheadrightarrow \gamma -\beta

The above rules are sound and complete.

  • A decomposition of R into (X, Y) and (X, R  Y) is a lossless-join decomposition if and only if X \twoheadrightarrow  Y holds in R.

Definitions

full constraint
A constraint which expresses something about all attributes in a database. (In contrast to an embedded constraint.) That a multivalued dependency is a full constraint follows from its definition,as where it says something about the attributes R-\beta .
tuple-generating dependency
A dependency which explicitly requires certain tuples to be present in the relation.
trivial multivalued dependency 1
A multivalued dependency which involves all the attributes of a relation i.e.R=\alpha \cup \beta . A trivial multivalued dependency implies, for tuples t_{1} and t_{2}, tuples t_{3} and t_{4} which are equal to t_{1} and t_{2}.
trivial multivalued dependency 2
A multivalued dependency for which \beta \subseteq \alpha .

References

  1. Silberschatz, Abraham; Korth, Sudarshan (2006). Database System Concepts (5th ed.). McGraw-Hill. p. 295. ISBN 0-07-124476-X. 

External links

This article is issued from Wikipedia. The text is available under the Creative Commons Attribution/Share Alike; additional terms may apply for the media files.