4nf and multivalued dependency by kristina miguel
TRANSCRIPT
![Page 1: 4NF and Multivalued Dependency by Kristina Miguel](https://reader030.vdocuments.net/reader030/viewer/2022032623/55cf9976550346d0339d87d6/html5/thumbnails/1.jpg)
4NF & MULTIVALUED DEPENDENCY
By Kristina Miguel
![Page 2: 4NF and Multivalued Dependency by Kristina Miguel](https://reader030.vdocuments.net/reader030/viewer/2022032623/55cf9976550346d0339d87d6/html5/thumbnails/2.jpg)
Review
Superkey – a set of attributes which will uniquely identify each tuple in a relation
Candidate key – a minimal superkey Primary key – a chosen candidate key Secondary key – all the rest of candidate
keys Prime attribute – an attribute that is a
part of a candidate key (key column) Non-prime attribute – a non-key column
![Page 3: 4NF and Multivalued Dependency by Kristina Miguel](https://reader030.vdocuments.net/reader030/viewer/2022032623/55cf9976550346d0339d87d6/html5/thumbnails/3.jpg)
Review (cont.) 1NF
Eliminate repeating groups. Make a separate table for each set of related attributes, and give each table a
primary key. 2NF
Eliminate redundant data. Each attribute must be functionally dependent on the primary key. If an attribute depends on only part of a multi-valued key, remove it to a separate
table. 3NF
Eliminate columns not dependent on key. If attributes do not contribute to a description of the key, remove them to a separate
table. Any transitive dependencies are moved into a smaller table.
BCNF Every determinant in the table is a candidate key.
If there are non-trivial dependencies between candidate key attributes, separate them out into distinct tables.
All normal forms are additive, in that if a model is in 3NF, it is by definition also in 2NF and 1NF.
![Page 4: 4NF and Multivalued Dependency by Kristina Miguel](https://reader030.vdocuments.net/reader030/viewer/2022032623/55cf9976550346d0339d87d6/html5/thumbnails/4.jpg)
Multivalued Dependency (MVD) A MVD XY,
Holds for some relation R, so that when you fix the values for one set of attributes, then the values in certain other attributes are independent of the values of all the other attributes in the relation.
Is an assertion that two attributes or sets of attributes are independent of one another.
For each value of X, the values of Y are independent of the values of R-X-Y.
![Page 5: 4NF and Multivalued Dependency by Kristina Miguel](https://reader030.vdocuments.net/reader030/viewer/2022032623/55cf9976550346d0339d87d6/html5/thumbnails/5.jpg)
MVD (cont.)
More precisely, for MVD AB For each pair of tuples t and u of relation R
that agree on all the A’s, we can find in R some tuple v that agrees With both t and u on the A’s, With t on the B’s, and With u on all attributes of R that are not among
the A’s or B’s.
![Page 6: 4NF and Multivalued Dependency by Kristina Miguel](https://reader030.vdocuments.net/reader030/viewer/2022032623/55cf9976550346d0339d87d6/html5/thumbnails/6.jpg)
MVD (cont.)
Representation of XY
X Y others
equal
exchange
![Page 7: 4NF and Multivalued Dependency by Kristina Miguel](https://reader030.vdocuments.net/reader030/viewer/2022032623/55cf9976550346d0339d87d6/html5/thumbnails/7.jpg)
MVD Example
Drinkers(name, addr, phones, beersLiked) A drinker’s phones are independent of
the beers they like. namephones and namebeersLiked.
Thus, each of a drinker’s phones appears with each of the beers they like in all combinations.
![Page 8: 4NF and Multivalued Dependency by Kristina Miguel](https://reader030.vdocuments.net/reader030/viewer/2022032623/55cf9976550346d0339d87d6/html5/thumbnails/8.jpg)
MVD Example (cont.)
Tuples Implied by namephones If we have tuples:
Then these tuples must also be in the relation.
name addr phones beersLikedsue a p1 b1sue a p2 b2
sue a p2 b1sue a p1 b2
![Page 9: 4NF and Multivalued Dependency by Kristina Miguel](https://reader030.vdocuments.net/reader030/viewer/2022032623/55cf9976550346d0339d87d6/html5/thumbnails/9.jpg)
4NF
Definition A relation R is in 4NF if and only if, for every
one of its non-trivial multivalued dependencies XY, X is a superkey—that is, X is either a candidate key or a superset thereof. Nontrivial MVD means that:1. Y is not a subset of X, and2. X and Y are not, together, all the attributes.
![Page 10: 4NF and Multivalued Dependency by Kristina Miguel](https://reader030.vdocuments.net/reader030/viewer/2022032623/55cf9976550346d0339d87d6/html5/thumbnails/10.jpg)
Decomposition into 4NF
If XY is a 4NF violation for relation R, we can decompose R using the same technique as for BCNF.
1. XY is one of the decomposed relations.2. All but Y – X is the other.
![Page 11: 4NF and Multivalued Dependency by Kristina Miguel](https://reader030.vdocuments.net/reader030/viewer/2022032623/55cf9976550346d0339d87d6/html5/thumbnails/11.jpg)
Decomposition into 4NF Method Find a 4NF violation in R, say AB, where
A is not a superkey. If there is such a 4NF violation, break the
schema for the relation R that has the 4NF violation into two schemas.1. R1, whose schema is A’s and B’s.2. R2, whose schema is the A’s and all attributes
of R that are not among the A’s or B’s. Find the FD’s and MVD’s that hold in R1 and
R2. Recursively decompose R1 and R2 with respect to their projected dependencies.
![Page 12: 4NF and Multivalued Dependency by Kristina Miguel](https://reader030.vdocuments.net/reader030/viewer/2022032623/55cf9976550346d0339d87d6/html5/thumbnails/12.jpg)
4NF Decomposition ExampleDrinkers(name, addr, phones, beersLiked)FD: nameaddrMVD’s: namephones
namebeersLiked Key is {name, phones, beersLiked}. All dependencies violate 4NF.
![Page 13: 4NF and Multivalued Dependency by Kristina Miguel](https://reader030.vdocuments.net/reader030/viewer/2022032623/55cf9976550346d0339d87d6/html5/thumbnails/13.jpg)
4NF Decomposition Example (cont.) Decompose using nameaddr:1. Drinkers1(name, addr)
In 4NF; only dependency is nameaddr.
2. Drinkers2(name, phones, beersLiked) Not in 4NF. MVD’s namephones and
namebeersLiked apply. No FD’s, so all three attributes form the key.
![Page 14: 4NF and Multivalued Dependency by Kristina Miguel](https://reader030.vdocuments.net/reader030/viewer/2022032623/55cf9976550346d0339d87d6/html5/thumbnails/14.jpg)
4NF Decomposition Example (cont.) Decompose Drinkers2
Either MVD name ->-> phones or name ->-> beersLiked tells us to decompose to: Drinkers3(name, phones) Drinkers4(name, beersLiked)
![Page 15: 4NF and Multivalued Dependency by Kristina Miguel](https://reader030.vdocuments.net/reader030/viewer/2022032623/55cf9976550346d0339d87d6/html5/thumbnails/15.jpg)
Summary
A multivalued dependency is a statement that two sets of attributes in a relation have sets of values that appear in all possible combinations.
If a relation is in 4NF, then every nontrivial MVD is really an FD with a superkey on the left.
![Page 16: 4NF and Multivalued Dependency by Kristina Miguel](https://reader030.vdocuments.net/reader030/viewer/2022032623/55cf9976550346d0339d87d6/html5/thumbnails/16.jpg)
References
http://www.datamodel.org/NormalizationRules.html
http://www.almaden.ibm.com/cs/people/fagin/tods77.pdf
http://www.bkent.net/Doc/simple5.htm http://infolab.stanford.edu/~ullman/
dscb.html