- Multivalued dependency occurs when two attributes in a table are independent of each other but, both depend on a third attribute.
- A multivalued dependency consists of at least two attributes that are dependent on a third attribute that's why it always requires at least three attributes
- Functional dependencies rule out certain tuples from appearing
in a relation.
If A B, then we cannot have two tuples with the same A value but different B values.
- Multivalued dependencies do not rule out the existence of certain
tuples.
Instead, they require that other tuples of a certain form be present in the relation.
- Let R be a relation schema, and let and
.
The multivalued dependency
holds on R if in any legal relation r(R), for all pairs of tuples and in r such that , there exist tuples and in r such that:
Theory of Multivalued Dependencies
-
We will need to compute all the multivalued dependencies that are logically implied by
a given set of multivalued dependencies.
- Let D denote a set of functional and multivalued dependencies.
- The closure of D is the set of all functional and multivalued dependencies logically implied by D.
- We can compute from D using the formal definitions, but it is easier to use a set of inference rules.
-
The following set of inference rules is sound and complete.
The first three rules are Armstrong's axioms from Chapter 5.
- Reflexivity rule: if is a set of attributes and , then holds.
- Augmentation rule: if holds, and is a set of attributes, then holds.
- Transitivity rule: if holds, and holds, then holds.
- Complementation rule: if holds, then holds.
- Multivalued augmentation rule: if holds, and and , then holds.
- Multivalued transitivity rule: if holds, and holds, then holds.
- Replication rule: if holds, then .
- Coalescence rule: if holds, and , and there is a such that and and , then holds.
-
An example of multivalued transitivity rule is as follows.
and .
Thus we have ,
where .
An example of coalescence rule is as follows. If we have , and , then we have .
-
Let's do an example:
- Let R=(A,B,C,G,H,I) be a relation schema.
- Suppose holds.
- The definition of multivalued dependencies implies that if ,
then there exists tuples and such that:
- The complementation rule states that if then .
- Tuples and satisfy if we simply change the subscripts.
-
We can simplify calculating , the closure of D by using the
following rules, derivable from the previous ones:
- Multivalued union rule: if holds and holds, then holds.
- Intersection rule: if holds and holds, then holds.
- Difference rule: if holds and holds, then holds and holds.
-
An example will help:
Let R=(A,B,C,G,H,I) with the set of dependencies:
We list some members of :
- : since , complementation rule implies that , and R - B - A = CGHI.
- : Since and , multivalued transitivity rule implies that .
- : coalescence rule can be applied. holds, and and , so we can satisfy the coalescence rule with being B, being HI, being CG, and being H. We conclude that .
- : now we know that and . By the difference rule, .
0 comments :
Post a Comment
Note: only a member of this blog may post a comment.