CS542 1 Schema Refinement Chapter 19 (part 1) Functional Dependencies.

Slides:



Advertisements
Similar presentations
primary key constraint foreign key constraint
Advertisements

Schema Refinement and Normal Forms
Schema Refinement and Normal Forms Given a design, how do we know it is good or not? What is the best design? Can a bad design be transformed into a good.
Database Management COP4540, SCS, FIU Functional Dependencies (Chapter 14)
Database Management Systems, 3ed, R. Ramakrishnan and J. Gehrke1 Schema Refinement and Normal Forms Chapter 19.
Murali Mani Normalization. Murali Mani What and Why Normalization? To remove potential redundancy in design Redundancy causes several anomalies: insert,
CS Schema Refinement and Normal Forms Chapter 19.
Normalization DB Tuning CS186 Final Review Session.
Normalization DB Tuning CS186 Final Review Session.
Nov 11, 2003Murali Mani Normalization B term 2004: lecture 7, 8, 9.
Cs3431 Normalization. cs3431 Why Normalization? To remove potential redundancy in design Redundancy causes several anomalies: insert, delete and update.
Schema Refinement and Normal Forms. The Evils of Redundancy v Redundancy is at the root of several problems associated with relational schemas: – redundant.
1 Schema Refinement and Normal Forms Chapter 19 Raghu Ramakrishnan and J. Gehrke (second text book) In Course Pick-up box tomorrow.
Cs3431 Normalization Part II. cs3431 Attribute Closure : Example Consider R (A, B, C, D, E) with FDs A  B, B  C, CD  E Does A  E hold ? (Is A  E.
1 Schema Refinement and Normal Forms Yanlei Diao UMass Amherst April 10, 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
Functional Dependencies CS 186, Spring 2006, Lecture 21 R&G Chapter 19 Science is the knowledge of consequences, and dependence of one fact upon another.
1 Database Theory and Methodology. 2 The Good and the Bad So far we have not developed any measure of “goodness” to measure the quality of the design,
©Silberschatz, Korth and Sudarshan7.1Database System Concepts Chapter 7: Relational Database Design First Normal Form Pitfalls in Relational Database Design.
Chapter 10 Functional Dependencies and Normalization for Relational Databases.
Database Management Systems, R. Ramakrishnan and J. Gehrke 1 Schema Refinement and Normal Forms Chapter 19 Instructor: Mirsad Hadzikadic.
Schema Refinement and Normal Forms Jianlin Feng School of Software SUN YAT-SEN UNIVERSITY courtesy of Joe Hellerstein for some slides.
Functional Dependencies and Normalization 1 Instructor: Mohamed Eltabakh
Normal Forms1. 2 The Problems of Redundancy Redundancy is at the root of several problems associated with relational schemas: Wastes storage Causes problems.
CSCD34 - Data Management Systems - A. Vaisman1 Schema Refinement and Normal Forms.
Schema Refinement and Normal Forms Chapter 19 1 Database Management Systems 3ed, R.Ramakrishnan & J.Gehrke.
Ihr Logo Fundamentals of Database Systems Fourth Edition El Masri & Navathe Chapter 10 Functional Dependencies and Normalization for Relational Databases.
Ihr Logo Fundamentals of Database Systems Fourth Edition El Masri & Navathe Chapter 10 Functional Dependencies and Normalization for Relational Databases.
LECTURE 5: Schema Refinement and Normal Forms SOME OF THESE SLIDES ARE BASED ON YOUR TEXT BOOK.
Logical Database Design (1 of 3) John Ortiz Lecture 6Logical Database Design (1)2 Introduction  The logical design is a process of refining DB schema.
R EVIEW. 22 Exam Su 3:30PM - 6:30PM 2010/12/12 Room C9000.
1 Lecture 6: Schema refinement: Functional dependencies
Revisit FDs & BCNF Normalization 1 Instructor: Mohamed Eltabakh
Functional Dependencies. FarkasCSCE 5202 Reading and Exercises Database Systems- The Complete Book: Chapter 3.1, 3.2, 3.3., 3.4 Following lecture slides.
Christoph F. Eick: Functional Dependencies, BCNF, and Normalization 1 Functional Dependencies, BCNF and Normalization.
Functional Dependencies And Normalization R&G Chapter 19.
Database Systems/COMP4910/Spring02/Melikyan1 Schema Refinement and Normal Forms.
CSC 411/511: DBMS Design Dr. Nan Wang 1 Schema Refinement and Normal Forms Chapter 19.
1 Schema Refinement and Normal Forms Week 6. 2 The Evils of Redundancy  Redundancy is at the root of several problems associated with relational schemas:
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide
1 Functional Dependencies. 2 Motivation v E/R  Relational translation problems : –Often discover more “detailed” constraints after translation (upcoming.
Database Management Systems, R. Ramakrishnan and J. Gehrke1 Schema Refinement and Normal Forms Chapter 15.
Functional Dependencies R&G Chapter 19 Science is the knowledge of consequences, and dependence of one fact upon another. Thomas Hobbes ( )
Database Management Systems, 3ed, R. Ramakrishnan and J. Gehrke1 Schema Refinement and Normal Forms Chapter 19.
Schema Refinement and Normalization Nobody realizes that some people expend tremendous energy merely to be normal. Albert Camus.
Functional Dependencies CIS 4301 Lecture Notes Lecture 8 - 2/7/2006.
1 Schema Refinement and Normal Forms Chapter The Evils of Redundancy  Redundancy is at the root of several problems associated with relational.
CS411 Database Systems Kazuhiro Minami 04: Relational Schema Design.
Database Management Systems, 3ed, R. Ramakrishnan and J. Gehrke1 Schema Refinement and Normal Forms Chapter 19.
Chapter 8 Relational Database Design. 2 Relational Database Design: Goals n Reduce data redundancy (undesirable replication of data values) n Minimize.
1 Schema Refinement and Normal Forms Chapter The Evils of Redundancy  Redundancy causes several problems associated with relational schemas: 
Normalization and FUNctional Dependencies. Redundancy: root of several problems with relational schemas: –redundant storage, insert/delete/update anomalies.
CSC 411/511: DBMS Design Dr. Nan Wang 1 Schema Refinement and Normal Forms Chapter 19.
1 CS122A: Introduction to Data Management Lecture #12: Relational DB Design Theory (1) Instructor: Chen Li.
LECTURE 5: Schema Refinement and Normal Forms 1. Redundency Problem Redundent Storage Update Anomaly If one copy updated, an inconsistancy may occur Insertion.
Schema Refinement & Normal Forms.
UNIT - 3 DATABASE DESIGN Functional Dependencies
Functional Dependencies, BCNF and Normalization
Functional Dependencies, BCNF and Normalization
Schema Refinement & Normalization Theory
Functional Dependencies
Normalization Murali Mani.
Schema Refinement and Normal Forms
Functional Dependencies and Normalization
Functional Dependencies
Schema Refinement and Normalization
Normalization cs3431.
Instructor: Mohamed Eltabakh
Chapter 19 (part 1) Functional Dependencies
Schema Refinement and Normal Forms
Schema Refinement and Normal Forms
Presentation transcript:

CS542 1 Schema Refinement Chapter 19 (part 1) Functional Dependencies

CS542 2 The Evils of Redundancy  Redundancy is at the root of several problems associated with relational schemas:  redundant storage,  insert/delete/update anomalies  Main refinement technique:  decomposition  Example: replacing ABCD with, say, AB and BCD,  Functional dependeny constraints utilized to identify schemas with such problems and to suggest refinements.

CS542 3 The Evils of Redundancy  Redundancy is at the root of several problems associated with relational schemas:  redundant storage,  insert/delete/update anomalies  Functional dependeny constraints utilized to identify schemas with such problems and to suggest refinements.  Main refinement technique:  decomposition  Example: replacing ABCD with, say, AB and BCD,  Decomposition should be used judiciously:  Is there reason to decompose a relation?  What problems (if any) does the decomposition cause?

CS542 4 Insert Anomaly sNumbersNamepNumberpName s1Davep1prof1 s2Gregp2prof2 Student Question : How do we insert a professor who has no students? Insert Anomaly: We are not able to insert “valid” value/(s)

CS542 5 Delete Anomaly sNumbersNamepNumberpName s1Davep1MM s2Gregp2ER Student Question : Can we delete a student that is the only student of a professor ? Delete Anomaly: We are not able to perform a delete without losing some “valid” information.

CS542 6 Update Anomaly sNumbersNamepNumberpName s1Davep1MM s2Gregp1MM Student Question : How do we update the name of a professor? Update Anomaly: To update a value, we have to update multiple rows. Update anomalies are due to redundancy.

CS542 7 Functional Dependencies (FDs)  A functional dependency X Y holds over relation R if, for every allowable instance r of R: t1 r, t2 r, ( t1 ) = ( t2 ) implies ( t1 ) = ( t2 )  Given two tuples in r, if the X values agree, then the Y values must also agree.

CS542 8 FD Example sNumbersNameaddress 1Dave144FL 2Greg320FL Student Suppose we have FD sName  address for any two rows in the Student relation with the same value for sName, the value for address must be the same i.e., there is a function from sName to address

CS542 9 Note on Functional Dependencies  Similar as for constraints, an FD is a statement about all allowable relations :  Must be identified based on semantics of application.  Intuition:  Given some allowable instance r1 of R, we can check if it violates some FD f  But we cannot tell if f holds over R!

CS Keys + Functional Dependencies  Assume K is a candidate key for R  What does this imply about FD between K and R?  It means that K R !  Does K R require K to be minimal ?  No. Any superkey of R also functionally implies all attributes of R.

CS Example: Constraints on Entity Set  Consider relation obtained from Hourly_Emps:  Hourly_Emps ( ssn, name, lot, rating, hrly_wages, hrs_worked )  Notation :  We denote relation schema by its attributes: SNLRWH  This is really the set of attributes {S,N,L,R,W,H}.  Some FDs on Hourly_Emps:  ssn is the key: S SNLRWH  rating determines hrly_wages : R W

CS Problems Caused by FD  Problems due to Example FD :  rating determines hrly_wages : R W

CS Example  Problems due to R W :  Update anomaly : Can we change W in just the 1st tuple of SNLRWH?  Insertion anomaly : What if we want to insert an employee and don’t know the hourly wage for his rating?  Deletion anomaly : If we delete all employees with rating 5, we lose the information about the wage for rating 5! Hourly_Emps rating (R) determines hrly_wages (W)

CS Same Example  Problems due to R W ! Hourly_Emps2 Wages Solution : 2 smaller tables instead of one big one ! Hourly_Emps

CS Same Example  Problems due to R W ! Hourly_Emps2 Wages Will 2 smaller tables be better than one big one? Update anomaly: Can we change W in just the 1st tuple of SNLRWH? Insertion anomaly: What if we want to insert an employee and don’t know the hourly wage for his rating? Deletion anomaly: If we delete all employees with rating 5, we lose information about wage for rating 5?

CS Reasoning About FDs  Given some FDs, we can usually infer additional FDs:  ssn did, did lot implies ssn lot  An FD f is implied by a set of FDs F if f holds whenever all FDs in F hold.  = closure of F is the set of all FDs that are implied by F.  Armstrong’s Axioms (X, Y, Z are sets of attributes):  Reflexivity : If X Y, then Y X  Augmentation : If X Y, then XZ YZ for any Z  Transitivity : If X Y and Y Z, then X Z  These are sound and complete inference rules for FDs!

CS Reasoning About FDs  Given some FDs, we can usually infer additional FDs:  ssn did, did lot implies ssn lot

CS Properties of FDs  Consider A, B, C, Z are sets of attributes Armstrong’s Axioms:  Reflexive (also trivial FD): if A  B, then A  B  Transitive : if A  B, and B  C, then A  C  Augmentation : if A  B, then AZ  BZ These are sound and complete inference rules for FDs! Additional rules (that follow from AA):  Union : if A  B, A  C, then A  BC  Decomposition : if A  BC, then A  B, A  C

CS Example : Reasoning About FDs Example: Contracts( cid,sid,jid,did,pid,qty,value ), and:  C is the key: C CSJDPQV  Project purchases each part using single contract: JP C  Dept purchases at most one part from a supplier: SD P Inferences:  JP C, C CSJDPQV imply JP CSJDPQV  SD P implies SDJ JP  SDJ JP, JP CSJDPQV imply SDJ CSJDPQV

CS Inferring FDs  What for ?  Suppose we have a relation R (A, B, C)  and functional dependencies : A  B, B  C, C  A  What is a key for R?  We can infer A  ABC, B  ABC, C  ABC.  Hence A, B, C are all keys.

CS Closure of FDs  An FD f is implied by a set of FDs F if f holds whenever all FDs in F hold.  = closure of F is set of all FDs that are implied by F.  Computing closure of a set of FDs can be expensive.  Size of closure is exponential in # attrs!

CS Reasoning About FDs (Contd.)  Computing the closure of a set of FDs can be expensive. (Size of closure is exponential in # attrs!)  Typically, we just want to check if a given FD X Y is in the closure of a set of FDs F. An efficient check:  Compute attribute closure of X (denoted ) wrt F: Set of all attributes A such that X A is in There is a linear time algorithm to compute this.  Check if Y is in  Does F = {A B, B C, C D E } imply A E?  i.e, is A E in the closure ? Equivalently, is E in ?

CS Reasoning About FDs (Contd.)  Instead of computing full closure F+ of a set of FDs  Too expensive  Typically, we just need to know if a given FD X Y is in closure of a set of FDs F.  Algorithm for efficient check:  Compute attribute closure of X (denoted ) wrt F: Set of all attributes A such that X A is in There is a linear time algorithm to compute this.  Check if Y is in X+. If yes, then X  Y in F+.

CS Algorithm for Attribute Closure  Computing the closure of set of attributes {A1, A2, …, An}, denoted {A1, A2, …, An} + 1.Let X = {A1, A2, …, An} 2.If there exists a FD B1, B2, …, Bm  C, such that every Bi  X, then X = X  C 3.Repeat step 2 until no more attributes can be added. 4.Output X + = {A1, A2, …, An} +

CS Example : Inferring FDs  Given R (A, B, C), and FDs A  B, B  C, C  A,  What are possible keys for R ?  Compute the closure of attributes:  {A} + = {A, B, C}  {B} + = {A, B, C}  {C} + = {A, B, C}  So keys for R are,,

CS Another Example : Inferring FDs  Consider R (A, B, C, D, E)  with FDs F = { A  B, B  C, CD  E }  does A  E hold ?  Rephrase as :  Is A  E in the closure F+ ?  Equivalently, is E in A+ ?  Let us compute {A} +  {A} + = {A, B, C}  Conclude : E is not in A+, therefore A  E is false

CS Recap: So Far.  Functional Dependencies : Relationships across Attributes of Relations  Redundancy : Arises due to certain relationships (FDs) holding.  So far : Reasoning with FDs.  Approach : Establish certain “normal forms” with respect to dependencies