Chapter 19 (part 1) Functional Dependencies

Slides:



Advertisements
Similar presentations
primary key constraint foreign key constraint
Advertisements

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.
1 CMSC424, Spring 2005 CMSC424: Database Design Lecture 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.
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,
Chapter 8: Relational Database Design First Normal Form First Normal Form Functional Dependencies Functional Dependencies Decomposition Decomposition Boyce-Codd.
©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.
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.
R EVIEW. 22 Exam Su 3:30PM - 6:30PM 2010/12/12 Room C9000.
1 Lecture 6: Schema refinement: Functional dependencies
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.
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.
1 Schema Refinement and Normal Forms Chapter The Evils of Redundancy  Redundancy is at the root of several problems associated with relational.
CS542 1 Schema Refinement Chapter 19 (part 1) Functional Dependencies.
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.
Normalization and FUNctional Dependencies. Redundancy: root of several problems with relational schemas: –redundant storage, insert/delete/update anomalies.
Chapter 14 Functional Dependencies and Normalization Informal Design Guidelines for Relational Databases –Semantics of the Relation Attributes –Redundant.
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.
1 CS122A: Introduction to Data Management Lecture #13: Relational DB Design Theory (II) Instructor: Chen Li.
Functional Dependencies and Normalization 1 Instructor: Mohamed Eltabakh Part 2.
Schema Refinement & Normal Forms.
Schema Refinement and Normal Forms
Normalization Functional Dependencies Presented by: Dr. Samir Tartir
UNIT - 3 DATABASE DESIGN Functional Dependencies
Functional Dependencies, BCNF and Normalization
Handout 4 Functional Dependencies
Functional Dependencies, BCNF and Normalization
Schema Refinement & Normalization Theory
Functional Dependencies
Faloutsos & Pavlo SCS /615 Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications Lecture #16: Schema Refinement & Normalization.
Normalization Murali Mani.
Schema Refinement and Normal Forms
Functional Dependencies and Normalization
Functional Dependencies and Normalization
Functional Dependencies
Normalization Part II cs3431.
Functional Dependencies and Normalization
Schema Refinement and Normalization
Normalization cs3431.
Instructor: Mohamed Eltabakh
Schema Refinement and Normal Forms
Relational Database Design
Schema Refinement and Normal Forms
CSC 453 Database Systems Lecture
Chapter 7a: Overview of Database Design -- Normalization
Functional Dependencies and Normalization
Presentation transcript:

Chapter 19 (part 1) Functional Dependencies Schema Refinement Chapter 19 (part 1) Functional Dependencies This lecture covers Chapter 19, on formal, dependency-driven database design.. Integrity constraints, in particular functional dependencies, play an important role in the design of database schemas. In particular, they can shed light on potential redundancies (and the problems that go with redundancy) in a relational schema. Typically, they are used to analyze the relational schema obtained by converting an ER diagram. This chapter can be covered any time after the Foundations material (Chapters 1 to 5) is covered, at the instructor’s discretion. A good choice is to cover it after presenting all the implementation related material that is included in a course. This will allow a design sequence consisting of Chapters 19 and 20, and will enable the instructor to bring out the fact that design involves both redundancy analysis and performance considerations, and that these concerns should go hand-in-hand. 1

The Evils of Redundancy Redundancy is at the root of several problems associated with relational schemas: redundant storage, insert/delete/update anomalies 14

Insert Anomaly Question : How insert a professor who has no students? sNumber sName pNumber pName s1 Dave p1 prof1 s2 Greg p2 prof2 Question : How insert a professor who has no students? Insert Anomaly: We are not able to insert “valid” value/(s)

Delete Anomaly sNumber sName pNumber pName s1 Dave p1 MM s2 Greg p2 ER Student sNumber sName pNumber pName s1 Dave p1 MM s2 Greg p2 ER Question : Can we delete a student that is the only student of a professor ? Delete Anomaly: We are not able to delete without losing some “valid” information.

Update Anomaly Question : How do we update the name of a professor? Student sNumber sName pNumber pName s1 Dave p1 MM s2 Greg 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.

Fighting the Evils of Redundancy Main refinement technique: decomposition Example: replacing ABCD with, say, AB and BCD, Functional dependency constraints utilized to identify schemas with problems and suggest refinements. Decomposition should be used judiciously: Is there reason to decompose a relation? What problems (if any) does decomposition cause? 14

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. 15

FD Example Student sNumber sName address 1 Dave 144FL 2 Greg 320FL Suppose we have FD sName  address for any two rows in student relation with same value for sName, the value for address must be the same. i.e., there is a function from sName to address

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! 15

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. 15

Example: Constraints on Entity Set Consider relation: Hourly_Emps (ssn, name, lot, rating, hrly_wages, hrs_worked) Notation: We denote relation schema by its attributes: SNLRWH This is 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 16

Problems Caused by FD Problems due to Example FD : rating determines hrly_wages: R W 16

Example: Problems Due to R  W Update anomaly: Can we change W in just 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! rating (R) determines hrly_wages (W) Hourly_Emps 17

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

Same Example Wages Hourly_Emps2 Problems due to R W ! 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, do we lose information about wage for rating 5? 17

Given some FDs, we can infer additional FDs: Reasoning About FDs Given some FDs, we can infer additional FDs: ssn did, did lot implies ssn lot 19

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

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 set of FDs can be expensive. Size of closure is exponential in # attrs 19

Reasoning About FDs (Contd.) Instead of computing full closure F+ of a set of FDs Too expensive 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+. 21

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

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

Example : Inferring FDs Consider R (A, B, C, D, E) F = { A  B, B  C, CD  E } does A  E hold ? Let us compute {A}+ {A}+ = {A, B, C} Conclude : E is not in A+, therefore A  E is false

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 “normal forms” with respect to dependencies 21