Presentation is loading. Please wait.

Presentation is loading. Please wait.

Jennifer Widom Relational Design Theory Boyce-Codd Normal Form.

Similar presentations


Presentation on theme: "Jennifer Widom Relational Design Theory Boyce-Codd Normal Form."— Presentation transcript:

1 Jennifer Widom Relational Design Theory Boyce-Codd Normal Form

2 Jennifer Widom Relational design by decomposition  “Mega” relations + properties of the data  System decomposes based on properties  Final set of relations satisfies normal form – No anomalies, no lost information  Functional dependencies  Boyce-Codd Normal Form  Multivalued dependences  Fourth Normal Form BCNF

3 Jennifer Widom Decomposition of a relational schema BCNF

4 Jennifer Widom Decomposition Example #1 Student(SSN, sName, address, HScode, HSname, HScity, GPA, priority) BCNF

5 Jennifer Widom Decomposition Example #2 Student(SSN, sName, address, HScode, HSname, HScity, GPA, priority) BCNF

6 Jennifer Widom Relational design by decomposition  “Mega” relations + properties of the data  System decomposes based on properties  “Good” decompositions only  Into “good” relations BCNF

7 Jennifer Widom Boyce-Codd Normal Form Relation R with FDs is in BCNF if: For each Ᾱ  B, Ᾱ is a key BCNF

8 Jennifer Widom BCNF? Example #1 Student(SSN, sName, address, HScode, HSname, HScity, GPA, priority) SSN  sName, address, GPA GPA  priority HScode  HSname, HScity BCNF

9 Jennifer Widom BCNF? Example #2 Apply(SSN, cName, state, date, major) SSN, cName, state  date, major BCNF

10 Jennifer Widom Relational design by decomposition  “Mega” relations + properties of the data  System decomposes based on properties  “Good” decompositions only  Into “good” relations BCNF

11 Jennifer Widom BCNF decomposition algorithm Input: relation R + FDs for R Output: decomposition of R into BCNF relations with “lossless join” Compute keys for R Repeat until all relations are in BCNF: Pick any R’ with A  B that violates BCNF Decompose R’ into R 1 (A, B) and R 2 (A, rest) Compute FDs for R 1 and R 2 Compute keys for R 1 and R 2 BCNF

12 Jennifer Widom BCNF Decomposition Example Student(SSN, sName, address, HScode, HSname, HScity, GPA, priority) SSN  sName, address, GPA GPA  priority HScode  HSname, HScity BCNF

13 Jennifer Widom BCNF decomposition algorithm Input: relation R + FDs for R Output: decomposition of R into BCNF relations with “lossless join” Compute keys for R Repeat until all relations are in BCNF: Pick any R’ with A  B that violates BCNF Decompose R’ into R 1 (A, B) and R 2 (A, rest) Compute FDs for R 1 and R 2 Compute keys for R 1 and R 2 BCNF

14 Jennifer Widom Does BCNF guarantee a good decomposition?  Removes anomalies?  Can logically reconstruct original relation? Too few or too many tuples? BCNF

15 Jennifer Widom Does BCNF guarantee a good decomposition?  Removes anomalies?  Can logically reconstruct original relation? Too few or too many tuples?  Some shortcomings discussed in later video BCNF


Download ppt "Jennifer Widom Relational Design Theory Boyce-Codd Normal Form."

Similar presentations


Ads by Google