Jennifer Widom Relational Design Theory Boyce-Codd Normal Form.

15
Jennifer Widom Relational Design Theory Boyce-Codd Normal Form

Transcript of Jennifer Widom Relational Design Theory Boyce-Codd Normal Form.

Page 1: Jennifer Widom Relational Design Theory Boyce-Codd Normal Form.

Jennifer Widom

Relational Design Theory

Boyce-Codd Normal Form

Page 2: Jennifer Widom Relational Design Theory Boyce-Codd Normal Form.

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

Page 3: Jennifer Widom Relational Design Theory Boyce-Codd Normal Form.

Jennifer Widom

Decomposition of a relational schemaBCNF

Page 4: Jennifer Widom Relational Design Theory Boyce-Codd Normal Form.

Jennifer Widom

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

BCNF

Page 5: Jennifer Widom Relational Design Theory Boyce-Codd Normal Form.

Jennifer Widom

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

BCNF

Page 6: Jennifer Widom Relational Design Theory Boyce-Codd Normal Form.

Jennifer Widom

Relational design by decomposition “Mega” relations + properties of the data System decomposes based on properties “Good” decompositions only Into “good” relations

BCNF

Page 7: Jennifer Widom Relational Design Theory Boyce-Codd Normal Form.

Jennifer Widom

Boyce-Codd Normal FormRelation R with FDs is in BCNF if: For each Ᾱ B, Ᾱ is a key

BCNF

Page 8: Jennifer Widom Relational Design Theory Boyce-Codd Normal Form.

Jennifer Widom

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

SSN sName, address, GPA GPA priority HScode HSname, HScity

BCNF

Page 9: Jennifer Widom Relational Design Theory Boyce-Codd Normal Form.

Jennifer Widom

BCNF? Example #2Apply(SSN, cName, state, date, major)

SSN, cName, state date, major

BCNF

Page 10: Jennifer Widom Relational Design Theory Boyce-Codd Normal Form.

Jennifer Widom

Relational design by decomposition “Mega” relations + properties of the data System decomposes based on properties “Good” decompositions only Into “good” relations

BCNF

Page 11: Jennifer Widom Relational Design Theory Boyce-Codd Normal Form.

Jennifer Widom

BCNF decomposition algorithmInput: relation R + FDs for ROutput: 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 R1(A, B) and R2(A, rest) Compute FDs for R1 and R2

Compute keys for R1 and R2

BCNF

Page 12: Jennifer Widom Relational Design Theory Boyce-Codd Normal Form.

Jennifer Widom

BCNF Decomposition ExampleStudent(SSN, sName, address, HScode, HSname, HScity, GPA, priority)

SSN sName, address, GPA GPA priorityHScode HSname, HScity

BCNF

Page 13: Jennifer Widom Relational Design Theory Boyce-Codd Normal Form.

Jennifer Widom

BCNF decomposition algorithmInput: relation R + FDs for ROutput: 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 R1(A, B) and R2(A, rest) Compute FDs for R1 and R2

Compute keys for R1 and R2

BCNF

Page 14: Jennifer Widom Relational Design Theory Boyce-Codd Normal Form.

Jennifer Widom

Does BCNF guarantee a good decomposition? Removes anomalies? Can logically reconstruct original relation?

Too few or too many tuples?

BCNF

Page 15: Jennifer Widom Relational Design Theory Boyce-Codd Normal Form.

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