+ All Categories
Home > Documents > 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan...

1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan...

Date post: 20-Dec-2015
Category:
View: 225 times
Download: 4 times
Share this document with a friend
Popular Tags:
21
1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke
Transcript
Page 1: 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.

1

Multivalued Dependencies

Fourth Normal Form

Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke

Page 2: 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.

2

Limitations of FD’s Some redundancies cannot be detected

using just functional dependencies Example: suppose a teacher can teach

several courses, several books can be recommended for a course, and same book can be recommended for different courses.

Suppose all this information is smushed together into one relation CTB There are no FD’s, so key is CTB and relation is

in BCNF But there is redundancy since course implies

book Eliminate redundancy by decomposing into CT

and CB

Page 3: 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.

3

Example of FD Limitations

Course (C) Teacher (T) Book (B)

Phys101 Green Mechanics

Phys101 Green Optics

Phys101 Brown Mechanics

Phys101 Brown Optics

Math301 Green Mechanics

Math301 Green Vectors

Math301 Green Geometry

Page 4: 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.

4

Definition of MVD Notion of MVD captures redundancy

that FD’s can’t 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.

i.e., for each value of X, the values of Y are independent of the values of R-X-Y.

Page 5: 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.

5

Relation with C ->-> T

Course (C) Teacher (T) Book (B)

Phys101 Green Mechanics

Phys101 Green Optics

Phys101 Brown Mechanics

Phys101 Brown Optics

Math301 Green Mechanics

Math301 Green Vectors

Math301 Green Geometry

Page 6: 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.

6

Another Example

Consumers(name, addr, phones, candiesLiked)

A consumer’s phones are independent of the candies they like. name->->phones and name ->->candiesLiked.

Thus, each of a consumer’s phones appears with each of the candies they like in all combinations.

This repetition is unlike FD redundancy. name->addr is the only FD.

Page 7: 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.

7

Tuples Implied by name->->phones

If we have tuples:

name addr phones candiesLikedsue a p1 b1sue a p2 b2sue a p2 b1sue a p1 b2

Then these tuples must also be in the relation.

Page 8: 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.

8

Picture of MVD X ->->Y

X Y others

equal

exchange

Page 9: 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.

9

MVD Rules

Every FD is an MVD (promotion ). If X ->Y, then swapping Y ’s between two

tuples that agree on X doesn’t change the tuples.

Therefore, the “new” tuples are surely in the relation, and we know X ->->Y.

Complementation : If X ->->Y, and Z is all the other attributes, then X ->->Z.

Page 10: 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.

10

Splitting Doesn’t Hold

Like FD’s, we cannot generally split the left side of an MVD.

But unlike FD’s, we cannot split the right side either --- sometimes you have to leave several attributes on the right side.

Page 11: 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.

11

Example

Consumers(name, areaCode, phone, candiesLiked, manf)

A consumer can have several phones, with the number divided between areaCode and phone (last 7 digits).

A consumer can like several candies, each with its own manufacturer.

Page 12: 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.

12

Example, Continued

Since the areaCode-phone combinations for a consumer are independent of the candiesLiked-manf combinations, we expect that the following MVD’s hold:

name ->-> areaCode phonename ->-> candiesLiked manf

Page 13: 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.

13

Example Data

Here is possible data satisfying these MVD’s:

name areaCode phone candiesLiked manfSue 650 555-1111 Twizzlers HersheySue 650 555-1111 Smarties NestleSue 415 555-9999 Twizzlers HersheySue 415 555-9999 Smarties Nestle

But we cannot swap area codes or phones by themselves.That is, neither name->->areaCode nor name->->phoneholds for this relation.

Page 14: 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.

14

Fourth Normal Form

The redundancy that comes from MVD’s is not removable by putting the database schema in BCNF.

There is a stronger normal form, called 4NF, that (intuitively) treats MVD’s as FD’s when it comes to decomposition, but not when determining keys of the relation.

Page 15: 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.

15

4NF Definition

A relation R is in 4NF if: whenever X ->->Y is a nontrivial MVD, then X is a superkey.

Nontrivial MVD means that:1. Y is not a subset of X, and2. X and Y are not, together, all the

attributes.

Note that the definition of “superkey” still depends on FD’s only.

Page 16: 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.

16

BCNF Versus 4NF

Remember that every FD X ->Y is also an MVD, X ->->Y.

Thus, if R is in 4NF, it is certainly in BCNF. Because any BCNF violation is a 4NF

violation (after conversion to an MVD). But R could be in BCNF and not 4NF,

because MVD’s are “invisible” to BCNF.

Page 17: 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.

17

Decomposition and 4NF

If X ->->Y 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 18: 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.

18

Example

Consumers(name, addr, phones, candiesLiked)

FD: name -> addrMVD’s: name ->-> phones

name ->-> candiesLiked Key is {name, phones, candiesLiked}. All dependencies violate 4NF.

Page 19: 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.

19

Example, Continued Decompose using name -> addr:Consumers1(name, addr)

In 4NF; only dependency is name -> addr.

Consumers2(name, phones, candiesLiked)

Not in 4NF. MVD’s name ->-> phones and name ->-> candiesLiked apply. No FD’s, so all three attributes form the key.

(Sadly, no simple rule for projecting MVD’s onto decomposed relations – use heuristics and knowledge of application)

Page 20: 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.

20

Example: Decompose Consumers2

Either MVD name ->-> phones or name ->-> candiesLiked tells us to decompose to: Consumers3(name, phones) Consumers4(name, candiesLiked)

Page 21: 1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.

21

Normal Form Comparisons

4NF BCNF 3NF

Property 3NF BCNF 4NF

eliminates FD redundancies most yes yes

eliminates MVD redundancies

no no yes

preserves FDs yes maybe maybe

preserves MVDs maybe maybe maybe


Recommended