Functional dependencies rule out certain tuples from being in a relation. Multivalued dependency, however, do not rule out the existence of certain tuples; instead, they require that other tuples of a certain form be present in the relation.
Definition
Let be a relation schema and let .
The multivalued dependency ( multidetermines ) holds on if in any legal relation , for all pairs of tuples such that , there exists tuples that satisfies all of the followings:
The following is a tabular representation of the multivalued dependency .
E | A | C | |
E | B | C | |
E | A | D | |
E | B | D |
Alternate definition
Let be a relation schema with a set of attributes that are partitioned into 3 nonempty subsets .
Then, holds on if and only if for all possible relations :
Note that since the behaviour of and are identical, it follows that .
Use of multivalued dependencies
Multivalued dependencies can be used to:
- Test relations to determine whether they are legal under a given set of functional and multivalued dependencies.
- Specify constraints on the set of legal relations.
If a relation fails to satisfy a given multivalued dependency, a relation that satisfies the multivalued dependency can be constructed by adding additional tuples to .