1 Multivalued Dependencies Fourth Normal Form Reasoning About FD’s + MVD’s.

Slides:



Advertisements
Similar presentations
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 16 Relational Database Design Algorithms and Further Dependencies.
Advertisements

Lecture 21 CS 157 B Revision of Midterm3 Prof. Sin-Min Lee.
4NF and 5NF Prof. Sin-Min Lee Department of Computer Science.
1 Loss-Less Joins. 2 Decompositions uDependency-preservation property: enforce constraints on original relation by enforcing some constraints on resulting.
Chapter 3 Notes. 3.1 Functional Dependencies A functional dependency is a statement that – two tuples of a relation that agree on some particular set.
Database Management Systems Chapter 3 The Relational Data Model (II) Instructor: Li Ma Department of Computer Science Texas Southern University, Houston.
CMPT 354, Simon Fraser University, Fall 2008, Martin Ester 227 Database Systems I Design Theory for Relational Databases.
4NF. PTypes Planes HasType Employees MServices Auth. MWorks Assignment AppliedOn States Dates PTypes(model, capacity,…) Planes(regno, model) Employees(sin,…)
Multivalued Dependency Prof. Sin-Min Lee Department of Computer Science.
1 Multi-valued Dependencies Salman Azhar Multi-valued Dependencies Fourth Normal Form These slides use some figures, definitions, and explanations from.
1 Multivalued Dependencies Fourth Normal Form Source: Slides by Jeffrey Ullman.
1 The Relational Data Model Functional Dependencies.
1 Multivalued Dependencies Fourth Normal Form. 2 Definition of MVD uA multivalued dependency (MVD) on R, X ->->Y, says that if two tuples of R agree on.
1 Multivalued Dependencies Fourth Normal Form Sources: Slides by Jeffrey Ullman book by Ramakrishnan & Gehrke.
1 Functional Dependencies Meaning of FD’s Keys and Superkeys Inferring FD’s.
1 Functional Dependencies Meaning of FD’s Keys and Superkeys Inferring FD’s Source: slides by Jeffrey Ullman.
Multivalued Dependency Prof. Sin-Min Lee Department of Computer Science.
Winter 2002Arthur Keller – CS 1804–1 Schedule Today: Jan. 15 (T) u Normal Forms, Multivalued Dependencies. u Read Sections Assignment 1 due. Jan.
1 Multivalued Dependencies Fourth Normal Form. 2 A New Form of Redundancy uMultivalued dependencies (MVD’s) express a condition among tuples of a relation.
1 Normalization Anomalies Boyce-Codd Normal Form 3 rd Normal Form.
Fall 2001Arthur Keller – CS 1805–1 Schedule Today Oct. 9 (T) Multivalued Dependencies, Relational Algebra u Read Sections 3.7, Assignment 2 due.
Bad DB Design Duplicate of data Duplicate of data Updating Updating Deleting Deleting.
Fall 2001Arthur Keller – CS 1804–1 Schedule Today Oct. 4 (TH) Functional Dependencies and Normalization. u Read Sections Project Part 1 due. Oct.
Chapter 14 Advanced Normalization Transparencies © Pearson Education Limited 1995, 2005.
©Silberschatz, Korth and Sudarshan7.1Database System Concepts Chapter 7: Relational Database Design First Normal Form Pitfalls in Relational Database Design.
Multi-valued Dependencies and Fourth Normal Form
Decompositions uDo we need to decompose a relation? wSeveral normal forms for relations. If schema in these normal forms certain problems don’t.
Database Management Systems Chapter 3 The Relational Data Model (III) Instructor: Li Ma Department of Computer Science Texas Southern University, Houston.
Databases 1 Seventh lecture. Topics of the lecture Extended relational algebra Normalization Normal forms 2.
1 Normalization Anomalies Boyce-Codd Normal Form 3 rd Normal Form.
Databases 1 8th lecture. Topics of the lecture Multivalued Dependencies Fourth Normal Form Datalog 2.
Normalization Goal = BCNF = Boyce-Codd Normal Form = all FD’s follow from the fact “key  everything.” Formally, R is in BCNF if for every nontrivial FD.
Lecture 6 Normalization: Advanced forms. Objectives How inference rules can identify a set of all functional dependencies for a relation. How Inference.
CS143 Review: Normalization Theory Q: Is it a good table design? We can start with an ER diagram or with a large relation that contain a sample of the.
SCUJ. Holliday - coen 1784–1 Schedule Today: u Normal Forms. u Section 3.6. Next u Relational Algebra. Read chapter 5 to page 199 After that u SQL Queries.
BCNF & Lossless Decomposition Prof. Sin-Min Lee Department of Computer Science.
4NF (Multivalued Dependency), and 5NF (Join Dependency)
IST 210 Normalization 2 Todd Bacastow IST 210. Normalization Methods Inspection Closure Functional dependencies are key.
1 CSE 480: Database Systems Lecture 18: Normal Forms and Normalization.
Normalization.
Functional Dependencies and Relational Schema Design.
1 Multivalued Dependencies Fourth Normal Form Reasoning About FD’s + MVD’s.
Design Theory for RDB Normal Forms. Lu Chaojun, SJTU 2 Redundant because these info may be figured out by using FD s1  … What’s Bad Design? Redundancy.
3 Spring Chapter Normalization of Database Tables.
Multivalued Dependencies Fourth Normal Form Tony Palladino 157B.
Functional Dependencies CIS 4301 Lecture Notes Lecture 8 - 2/7/2006.
Multivalued Dependencies and 4th NF CIS 4301 Lecture Notes Lecture /21/2006.
Functional Dependencies Zaki Malik September 25, 2008.
Databases 1 Sixth lecture. 2 Functional Dependencies X -> A is an assertion about a relation R that whenever two tuples of R agree on all the attributes.
© D. Wong Functional Dependencies (FD)  Given: relation schema R(A1, …, An), and X and Y be subsets of (A1, … An). FD : X  Y means X functionally.
Final Review Zaki Malik November 20, Basic Operators Covered.
1 CS 430 Database Theory Winter 2005 Lecture 8: Functional Dependencies Second, Third, and Boyce-Codd Normal Forms.
Design Theory for Relational Databases Functional Dependencies Decompositions Normal Forms: BCNF, Third Normal Form Introduction to Multivalued Dependencies.
1 Lecture 8 Design Theory for Relational Databases (part 2) Slides from
4NF & MULTIVALUED DEPENDENCY By Kristina Miguel. Review  Superkey – a set of attributes which will uniquely identify each tuple in a relation  Candidate.
1 Database Design: DBS CB, 2 nd Edition Physical RDBMS Model: Schema Design and Normalization Ch. 3.
Design Theory for Relational Databases
Design Theory for RDB Normal Forms.
CPSC-310 Database Systems
Schedule Today: Jan. 23 (wed) Week of Jan 28
3.1 Functional Dependencies
CPSC-310 Database Systems
Multivalued Dependencies & Fourth Normal Form (4NF)
Mulitvalued Dependencies
Multivalued Dependencies & Fourth Normal Form
Multivalued Dependencies & Fourth Normal Form
Functional Dependencies
Multivalued Dependencies
Anomalies Boyce-Codd Normal Form 3rd Normal Form
Chapter 3: Multivalued Dependencies
Presentation transcript:

1 Multivalued Dependencies Fourth Normal Form Reasoning About FD’s + MVD’s

2 Definition of MVD A1A2A3B1B2C1C2C X → → Y X YR-X-Y  A multivalued dependency (MVD) on R, X ->->Y, says that if two tuples of R agree on all the attributes of X, then their components in Y may be swapped, and the result will be two tuples that are also in the relation.

3 Definition of MVD A1A2A3B1B2C1C2C X → → Y X YR-X-Y  A multivalued dependency (MVD) on R, X ->->Y, says that if two tuples of R agree on all the attributes of X, then their components in Y may be swapped, and the result will be two tuples that are also in the relation.

4 Definition of MVD A1A2A3B1B2C1C2C X → → Y X YZ=R-X-Y  for each value of X, the values of Y are independent of the values of R-X-Y.

5 Multiplevalued Dependencies (MVDs) For each fixed course (CS145), every staff member in that course and every student in that course occur in a tuple in that table. CourseStaffStudent CS949AmyBob CS145ChrisDeb CS145ChrisEli CS145FirasDeb CS145FirasEli Write: Course ↠ Staff or Course ↠ Student

6 Example CourseStaffStudent CS949AmyBob CS145ChrisDeb CS145ChrisEli CS145FirasDeb CS145FirasEli t1 t2 Course ↠ Staff

7 Does Course ↠ Staff hold now? CourseStaffStudent CS949AmyBob CS145ChrisDeb CS145ChrisEli CS145FirasEli

8 Example: MVD Drinkers(name, addr, phones, beersLiked)  A drinker’s phones are independent of the beers they like.  name->->phones and name ->->beersLiked.  Thus, each of a drinker’s phones appears with each of the beers they like in all combinations.  This repetition is unlike FD redundancy.  name->addr is the only FD.

9 Tuples Implied by name->->phones If we have tuples: nameaddrphones beersLiked sueap1 b1 sueap2 b2 sueap2 b1 sueap1 b2 Then these tuples must also be in the relation.

10 Picture of MVD X ->->Y XY others equal exchange

11 MVD Rules  Every FD is an MVD (promotion ).  If X ->Y, then swapping Y ’s between two tuples that agree on X doesn’t change the tuples.  Therefore, the “new” tuples are surely in the relation, and we know X ->->Y.  Complementation : If X ->->Y, and Z is all the other attributes, then X ->->Z.

12 MVD Rules XYZ xy1z1 xy2z2 xy1z2 xy2z1  Complementation : If X ->->Y, and Z is all the other attributes, then X ->->Z.

13 MVD Rules A1A2A3B1B2C1C2C X → → Y X YZ=R-X-Y  Complementation : If X ->->Y, and Z is all the other attributes, then X ->->Z.

14 Splitting Doesn’t Hold  Like FD’s, we cannot generally split the left side of an MVD.  But unlike FD’s, we cannot split the right side either --- sometimes you have to leave several attributes on the right side.

15 Example: Multiattribute Right Sides Drinkers(name, areaCode, phone, beersLiked, manf)  A drinker can have several phones, with the number divided between areaCode and phone (last 7 digits).  A drinker can like several beers, each with its own manufacturer.

16 Example Continued  Since the areaCode-phone combinations for a drinker are independent of the beersLiked-manf combinations, we expect that the following MVD’s hold: name ->-> areaCode phone name ->-> beersLiked manf

17 Example Data Here is possible data satisfying these MVD’s: nameareaCode phone beersLiked manf Sue Bud A.B. Sue WickedAle Pete’s Sue Bud A.B. Sue WickedAle Pete’s But we cannot swap area codes or phones by themselves. That is, neither name->->areaCode nor name->->phone holds for this relation.

18 Fourth Normal Form  The redundancy that comes from MVD’s is not removable by putting the database schema in BCNF.  There is a stronger normal form, called 4NF, that (intuitively) treats MVD’s as FD’s when it comes to decomposition, but not when determining keys of the relation.

19 4NF Definition  A relation R is in 4NF if: whenever X ->->Y is a nontrivial MVD, then X is a superkey.  Nontrivial MVD means that: 1.Y is not a subset of X, and 2.X and Y are not, together, all the attributes.  Note that the definition of “superkey” still depends on FD’s only.

20 BCNF Versus 4NF  Remember that every FD X ->Y is also an MVD, X ->->Y.  Thus, if R is in 4NF, it is certainly in BCNF.  Because any BCNF violation is a 4NF violation (after conversion to an MVD).  But R could be in BCNF and not 4NF, because MVD’s are “invisible” to BCNF.

21 Decomposition and 4NF  If X ->->Y is a 4NF violation for relation R, we can decompose R using the same technique as for BCNF. 1.XY is one of the decomposed relations. 2.All but Y – X is the other.

22 Example: 4NF Decomposition Drinkers(name, addr, phones, beersLiked) FD: name -> addr MVD’s: name ->-> phones name ->-> beersLiked  Key is {name, phones, beersLiked}.  All dependencies violate 4NF.

23 Example Continued  Decompose using name -> addr: 1.Drinkers1(name, addr)  In 4NF; only dependency is name -> addr. 2.Drinkers2(name, phones, beersLiked)  Not in 4NF. MVD’s name ->-> phones and name ->-> beersLiked apply. No FD’s, so all three attributes form the key.

24 Example: Decompose Drinkers2  Either MVD name ->-> phones or name ->-> beersLiked tells us to decompose to:  Drinkers3(name, phones)  Drinkers4(name, beersLiked)

25 Reasoning About MVD’s + FD’s  Problem: given a set of MVD’s and/or FD’s that hold for a relation R, does a certain FD or MVD also hold in R ?  Solution: Use a tableau to explore all inferences from the given set, to see if you can prove the target dependency.

26 Why Do We Care? 1.4NF technically requires an MVD violation.  Need to infer MVD’s from given FD’s and MVD’s that may not be violations themselves. 2.When we decompose, we need to project FD’s + MVD’s.

27 Example: Chasing a Tableau With MVD’s and FD’s  To apply a FD, equate symbols, as before.  To apply an MVD, generate one or both of the tuples we know must also be in the relation represented by the tableau.  We’ll prove: if A->->BC and D->C, then A->C.

28 The Tableau for A->C ABCDab1c1d1ab2c2d2ABCDab1c1d1ab2c2d2 Goal: prove that c 1 = c 2. ab2c2d1ab2c2d1 Use A->->BC (first row’s D with second row’s BC ). c2c2 Use D->C (first and third row agree on D, therefore agree on C ). ab1c1d2ab1c1d2

29 Example: Chase to MVD’s  If A ->B and B->->C, then A->->C.  Obvious from the complementation rule if the Schema is ABC.  But it holds no matter what the schema; we’ll assume ABCD.

30

31 Definition of MVD  A multivalued dependency (MVD) on R, X ->->Y, says that if two tuples of R agree on all the attributes of X, then their components in Y may be swapped, and the result will be two tuples that are also in the relation.  i.e., for each value of X, the values of Y are independent of the values of R-X-Y.

32 The Tableau for A->->C ABCDab1cd1abc2dABCDab1cd1abc2d Goal: derive tuple (a,b,c,d).

33 The Tableau for A->->C ABCDabcd1abc2dABCDabcd1abc2d Goal: derive tuple (a,b,c,d). Use A->B to set b1=b

34 The Tableau for A->->C ABCDabcd1abc2dABCDabcd1abc2d Goal: derive tuple (a,b,c,d). Use A->B to set b1=b

35 The Tableau for A->->C ABCD abcd 1 abc 2 d abc 2 d 1 abcd Goal: derive tuple (a,b,c,d). Use B ->>C to swap C

36 Example: Transitive Law for MVD’s  If A->->B and B->->C, then A->->C.  Obvious from the complementation rule if the Schema is ABC.  But it holds no matter what the schema; we’ll assume ABCD.

37 The Tableau for A->->C ABCDab1cd1abc2dABCDab1cd1abc2d Goal: derive tuple (a,b,c,d).

38 The Tableau for A->->C ABCD ab 1 cd 1 abc 2 d abcd 1 ab 1 c 2 d Goal: derive tuple (a,b,c,d). Use A ->->B to swap C

39 The Tableau for A->->C Goal: derive tuple (a,b,c,d). abc d 1 Use B->->C abc2d1abc2d1 abcdabcd abc2dabc2d a b 1 c d 1 ab1c2dab1c2d ABCDABCD

40 Rules for Inferring MVD’s + FD’s  Start with a tableau of two rows.  These rows agree on the attributes of the left side of the dependency to be inferred.  And they disagree on all other attributes.  Use unsubscripted variables where they agree, subscripts where they disagree.

41 Inference: Applying a FD  Apply a FD X->Y by finding rows that agree on all attributes of X. Force the rows to agree on all attributes of Y.  Replace one variable by the other.  If the replaced variable is part of the goal tuple, replace it there too.

42 Inference: Applying a MVD  Apply a MVD X->->Y by finding two rows that agree in X.  Add to the tableau one or both rows that are formed by swapping the Y-components of these two rows.

43 Inference: Goals  To test whether U->V holds, we succeed by inferring that the two variables in each column of V are actually the same.  If we are testing U->->V, we succeed if we infer in the tableau a row with all unsubscripted attributes.

44 Inference: Endgame  Apply all the given FD’s and MVD’s until we cannot change the tableau.  If we meet the goal, then the dependency is inferred.  If not, then the final tableau is a counterexample relation.  Satisfies all given dependencies.  Original two rows violate target dependency.