Download presentation
Presentation is loading. Please wait.
Published byRosamund Gibson Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.