L22 - Design3

# L22 - Design3 - We've been looking at functional dependency...

This preview shows pages 1–6. Sign up to view the full content.

Based in part on slides from Database System Concepts - 5 th Edition We've been looking at functional dependency theory We've been looking at functional dependency theory ± discussed the definition of a functional dependency ± discussed determination of the closure of a set of fd’s ² Armstrong’s axioms: ± if β⊆α , then α→ β (reflexivity) ± if , then γα→ γ β (augmentation) ± if , and β→γ , then α→ γ (transitivity) ² and extensions to Armstrong’s Axioms: ± If holds a nd α→γ holds, then α→ β γ holds (union) ± If holds, then holds and holds (decomposition) ± If holds a nd γ β→δ holds, then αγ→δ holds (pseudotransitivity) ² and we determined that computing F + using Armstrong’s axioms is a true pain

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Based in part on slides from Database System Concepts - 5 th Edition On Friday On Friday ± We discussed an algorithm for determining the closure of attribute sets result ←α ; while (changes to result ) do for each β→γ in F do begin if β⊆ result then result result ∪γ end ± and we looked at some examples of computing the closure attribute sets with respect to a set of fd’s
Based in part on slides from Database System Concepts - 5 th Edition Uses of Attribute Closure Uses of Attribute Closure There are several uses of the attribute closure algorithm: ± Testing for superkey: ² To test if α is a superkey, we compute α +, and check if α + contains all attributes of R . ± Testing functional dependencies ² To check if a functional dependency α→β holds (or, in other words, is in F + ), just check if β⊆α + . ² That is, we compute α + by using attribute closure, and then check if it contains β . ² Is a simple and cheap test, and very useful ± Back to looking at how to compute the closure of F ² For each γ⊆ R, we find the closure γ + , and for each S ⊆γ + , we output a functional dependency γ→ S. ² It generates a lot of fd’s, but it is more straightforward and efficient than using the definition directly

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Based in part on slides from Database System Concepts - 5 th Edition Can we do better Can we do better -- -- Canonical Cover Canonical Cover ± Sets of functional dependencies may have redundant dependencies that can be inferred from the others ² For example: A C is redundant in: { A B , B C, A C } ² Parts of a functional dependency may be redundant ± E.g.: on RHS: { A B , B C , A CD } can be simplified to { A B , B C , A D } ± E.g.: on LHS: {A B , B C , AC D } can be simplified to {A B , B C , A D } ± Intuitively, a canonical cover of F is a “minimal” set of functional dependencies equivalent to F, having no redundant dependencies or redundant parts of dependencies
Based in part on slides from Database System Concepts - 5 th Edition Extraneous Attributes Extraneous Attributes ± Consider a set F

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
This is the end of the preview. Sign up to access the rest of the document.

## This note was uploaded on 04/08/2008 for the course EE 468 taught by Professor Conry during the Spring '08 term at Clarkson University .

### Page1 / 17

L22 - Design3 - We've been looking at functional dependency...

This preview shows document pages 1 - 6. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online