Multivalued Dependencies Fourth Normal Form Source Slides by
Multivalued Dependencies Fourth Normal Form Source: Slides by Jeffrey Ullman 1
Definition of MVD u. A multivalued dependency (MVD) on R, X ->->Y , says that if two tuples of R agree on all the attributes of X, then their components in Y may be swapped, and the result will be two tuples that are also in the relation. ui. e. , for each value of X, the values of Y are independent of the values of R-X-Y. 2
Example Consumers(name, addr, phones, candies. Liked) u. A consumer’s phones are independent of the candies they like. w name->->phones and name ->->candies. Liked. u. Thus, each of a consumer’s phones appears with each of the candies they like in all combinations. u. This repetition is unlike FD redundancy. w name->addr is the only FD. 3
Tuples Implied by name->->phones If we have tuples: name sue sue addr a a phones p 1 p 2 p 1 candies. Liked b 1 b 2 Then these tuples must also be in the relation. 4
Picture of MVD X ->->Y X Y others equal exchange 5
MVD Rules u. Every FD is an MVD (promotion ). w If X ->Y, then swapping Y ’s between two tuples that agree on X doesn’t change the tuples. w Therefore, the “new” tuples are surely in the relation, and we know X ->->Y. u. Complementation : If X ->->Y, and Z is all the other attributes, then X ->->Z. 6
Splitting Doesn’t Hold u. Like FD’s, we cannot generally split the left side of an MVD. u. But unlike FD’s, we cannot split the right side either --- sometimes you have to leave several attributes on the right side. 7
Example Consumers(name, area. Code, phone, candies. Liked, manf) u. A consumer can have several phones, with the number divided between area. Code and phone (last 7 digits). u. A consumer can like several candies, each with its own manufacturer. 8
Example, Continued u. Since the area. Code-phone combinations for a consumer are independent of the candies. Liked-manf combinations, we expect that the following MVD’s hold: name ->-> area. Code phone name ->-> candies. Liked manf 9
Example Data Here is possible data satisfying these MVD’s: name Sue Sue area. Code 650 415 phone 555 -1111 555 -9999 candies. Liked Twizzlers Smarties manf Hershey Nestle But we cannot swap area codes or phones by themselves. That is, neither name->->area. Code nor name->->phone holds for this relation. 10
Fourth Normal Form u. The redundancy that comes from MVD’s is not removable by putting the database schema in BCNF. u. There is a stronger normal form, called 4 NF, that (intuitively) treats MVD’s as FD’s when it comes to decomposition, but not when determining keys of the relation. 11
4 NF Definition u A relation R is in 4 NF if: whenever X ->->Y is a nontrivial MVD, then X is a superkey. w Nontrivial MVD means that: 1. Y is not a subset of X, and 2. X and Y are not, together, all the attributes. w Note that the definition of “superkey” still depends on FD’s only. 12
BCNF Versus 4 NF u. Remember that every FD X ->Y is also an MVD, X ->->Y. u. Thus, if R is in 4 NF, it is certainly in BCNF. w Because any BCNF violation is a 4 NF violation (after conversion to an MVD). u. But R could be in BCNF and not 4 NF, because MVD’s are “invisible” to BCNF. 13
Decomposition and 4 NF u If X ->->Y is a 4 NF 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. 14
Example Consumers(name, addr, phones, candies. Liked) FD: name -> addr MVD’s: name ->-> phones name ->-> candies. Liked u. Key is {name, phones, candies. Liked}. u. All dependencies violate 4 NF. 15
Example, Continued u Decompose using name -> addr: Consumers 1(name, addr) u In 4 NF; only dependency is name -> addr. Consumers 2(name, phones, candies. Liked) u Not in 4 NF. MVD’s name ->-> phones and name ->-> candies. Liked apply. No FD’s, so all three attributes form the key. 16
Example: Decompose Consumers 2 u. Either MVD name ->-> phones or name ->-> candies. Liked tells us to decompose to: w Consumers 3(name, phones) w Consumers 4(name, candies. Liked) 17
Normal Form Comparisons u 4 NF BCNF 3 NF Property 3 NF BCNF 4 NF eliminates FD redundancies most yes eliminates MVD redundancies no no yes preserves FDs yes maybe preserves MVDs maybe 18
- Slides: 18