Presentation is loading. Please wait.

Presentation is loading. Please wait.

Functional Dependencies. FarkasCSCE 5202 Reading and Exercises Database Systems- The Complete Book: Chapter 3.1, 3.2, 3.3., 3.4 Following lecture slides.

Similar presentations


Presentation on theme: "Functional Dependencies. FarkasCSCE 5202 Reading and Exercises Database Systems- The Complete Book: Chapter 3.1, 3.2, 3.3., 3.4 Following lecture slides."— Presentation transcript:

1 Functional Dependencies

2 FarkasCSCE 5202 Reading and Exercises Database Systems- The Complete Book: Chapter 3.1, 3.2, 3.3., 3.4 Following lecture slides are modified from Jeff Ullman’s slides for Fall 2002 -- Stanford

3 FarkasCSCE 5203 Database Design  Goal: Represent domain information Avoid anomalies Avoid redundancy  Anomalies: Update: not all occurrences of a fact are changed Deletion: valid fact is lost when tuple is deleted

4 FarkasCSCE 5204 Functional Dependencies  FD: X  A for relation R X functional determines A, i.e., if any two tuples in R agree on attributes X, they must also agree on attribute A. X: set of attributes A: single attribute  If t 1 and t 2 are two tuples of r over R and t 1 [X]= t 2 [X] then t 1 [A]= t 2 [A] What is the relation between functional dependencies and primary keys?

5 FarkasCSCE 5205 Functional Dependency Example  Owner(Name, Phone) FD: Name  Phone  Dog(Name, Breed, Age, Weight) FD: Name, Breed  Age FD: Name, Breed  Weight

6 FarkasCSCE 5206 Example - FD NameBreedAgeWeightDateKennel PepperG.S.17001/01/02White Oak BuddyMix45003/04/01Little Creek PepperG.S.17004/17/02Little Creek PankaVizsla124002/14/02White Oak Functional Dependencies:Name,Breed  Age Name,Breed  Weight Dog-Kennels(Name,Breed,Age,Weight,Date,Kennel)

7 FarkasCSCE 5207 FD with Multiple Attributes  Right side: can be more than 1 attribute – splitting/combining rule E.g., FD: Name, Breed  Age FD: Name, Breed  Weight combine into: FD: Name, Breed  Age,Weight  Left side cannot be decomposed!

8 FarkasCSCE 5208 FD Equivalence Let S and T denote two sets of FDs.  S and T are equivalent if the set of relation instances satisfying S is exactly the same as the set of instances satisfying T.  A set of FDs S follows from a set of FDs T if every relation instance that satisfies all FDs in T also satisfies all FDs in S.  Two sets of FDs S and T are equivalent if S follows from T and T follows from S.

9 FarkasCSCE 5209 Trivial FD Given FD of the form A 1,A 2,…,A n  B 1,B 2,…,B k FD is  Trivial: if the Bs are subset of As  Nontrivial: if at least one of the Bs is not among As  Completely nontrivial: if none of the Bs is in As.

10 FarkasCSCE 52010 Keys and FD  K is a (primary) key for a relation R if 1.K functionally determines all attributes in R 2.1 does not hold for any proper subset of K  Superkey: 1 holds, 2 does not hold

11 FarkasCSCE 52011 Example  Dog-Kennels(Name,Breed,Age,Weight,Date,Kennel)  Name,Breed,Date is a key: K={Name,Breed,Date} functionally determines all other attributes The above does not hold for any proper subset of K  What are? {Name,Breed,Kennel} {Name,Breed,Date,Kennel} {Name,Breed,Age} {Name,Breed,Age,Date}

12 FarkasCSCE 52012 Where do Keys Come From?  Assert a key K, then only FDs are K  A for all attributes A (K is the only key from FDs)  Assert FDs and deduce the keys E/R gives FDs from entity set keys and many-one relationships

13 FarkasCSCE 52013 E/R and Relational Keys  E/R keys: properties of entities  Relation keys: properties of tuples  Usually: one tuple corresponds to one entity  Poor relational design: one entity becomes several tuples

14 FarkasCSCE 52014 Closure of Attributes  Let A 1,A 2,…,A n be a set of attributes and S a set of FDs. The closure of A 1,A 2,…,A n under S is the set of attributes B such that every relation that satisfies S also satisfies A 1,A 2,…,A n  B.  Closure of attributes A 1,A 2,…,A n is denoted as {A 1,A 2,…,A n } +

15 FarkasCSCE 52015 Algorithm – Attribute Closure  Let X = A 1,A 2,…,A n  Find B 1,B 2,…,B k  C such that B 1,B 2,…,B k all in X but C is not in X  Add C to X  Repeat until no more attribute can be added to X  X= {A 1,A 2,…,A n } +

16 FarkasCSCE 52016 Closures and Keys  {A 1,A 2,…,A n } + is a set of all attributes of a relation if and only if A 1,A 2,…,A n is a superkey for the relation.

17 FarkasCSCE 52017 Projecting FDs  Some FD are physical laws E.g., no two courses can meet in the same room at the same time A professor cannot be at two places at the same time.  How to determine what FDs hold on a projection of a relation?

18 FarkasCSCE 52018 FD on Relation  Relation schema design: which FDs hold on relation  Given: X 1  A 1, X 2  A 2, …, X n  A n whether Y  B must hold on relations satisfying X 1  A 1, X 2  A 2, …, X n  A n  Example: A  B and B  C, then A  C must also hold

19 FarkasCSCE 52019 Inference Test  Test whether Y  B Assume two tuples agree on attributes Y Use FDs to infer these tuples also agree on other attributes If B is one of the “other” attributes, then Y  B holds.

20 FarkasCSCE 52020 Armstrong Axioms  Reflexivity If {A 1,A 2,…,A m } superset of {B 1,B 2,…,B n } then A 1,A 2,…,A m  B 1,B 2,…,B n  Augmentation If A 1,A 2,…,A m  B 1,B 2,…,B n then A 1,A 2,…,A m,C 1,…,C k  B 1,B 2,…,B n,C 1,…,C k  Transitivity If A 1,A 2,…,A m  B 1,B 2,…,B n and B 1,B 2,…,B n  C 1,C 2,…,C k then A 1,A 2,…,A m  C 1,C 2,…,C k

21 FarkasCSCE 52021 FD Closure  Compute the closure of Y, denoted as Y +  Basis: Y + = Y  Induction: look FD, where left side X is subset of Y +. If FD is X  A then add A to Y +.

22 FarkasCSCE 52022 Finding All FDs  Normalization: break a relation schema into two or more schemas  Example: R(A,B,C,D) FD: AB  C, C  D, D  A Decompose into (A,B,C), (A,D)  FDs of (ABC): A,B  C and C  A

23 FarkasCSCE 52023 Basic Idea  What FDs hold on a projections: Start with FDs Find all FDs that follow from given ones  Restrict to FDs that involve only attributes from a schema

24 FarkasCSCE 52024 Algorithm  For each X compute X +  Add X  A for all A in X + - X  Drop XY  A if X  A  Use FD of projected attributes

25 FarkasCSCE 52025 Tricks  Do not compute closure of empty set of the set of all attributes  If X + = all attributes, do not compute closure of the superset of X

26 FarkasCSCE 52026 Example  ABC with A  B, B  C and projection on AC: A + = ABC, yields A  B and A  C B + = BC, yields B  C C + = C, yields nothing BC + = BC, yields nothing Resulting FDs: A  B, A  C, B  C Projection AC: A  C


Download ppt "Functional Dependencies. FarkasCSCE 5202 Reading and Exercises Database Systems- The Complete Book: Chapter 3.1, 3.2, 3.3., 3.4 Following lecture slides."

Similar presentations


Ads by Google