Download presentation
Presentation is loading. Please wait.
Published bySpencer Kennedy Modified over 9 years ago
1
Chapter 7 1 Database Principles Data Normalization Primarily a tool to validate and improve a logical design so that it satisfies certain constraints that avoid unnecessary duplication of data The process of decomposing relations with anomalies to produce smaller, well- structured relations Chapter 7 Logical Database Design Relational Systems (Normalization)
2
Chapter 7 2 Database Principles Well-Structured Relations A relation that contains minimal data redundancy and allows users to insert, delete, and update rows without causing data inconsistencies Goal is to avoid anomalies – Insertion Anomaly – adding new rows forces user to create duplicate data – Deletion Anomaly – deleting rows may cause a loss of data that would be needed for other future rows – Modification Anomaly – changing data in a row forces changes to other rows because of duplication General rule of thumb: a table should not pertain to more than one entity type
3
Chapter 7 3 Database Principles Example – Figure 5.2b Question – Is this a relation? Answer – Yes: unique rows and no multivalued attributes Question – What’s the primary key? Answer – Composite: Emp_ID, Course_Title
4
Chapter 7 4 Database Principles Anomalies in this Table Insertion – can’t enter a new employee without having the employee take a class Deletion – if we remove employee 140, we lose information about the existence of a Tax Acc class Modification – giving a salary increase to employee 100 forces us to update multiple records Why do these anomalies exist? Because we’ve combined two themes (entity types) into one relation. This results in duplication, and an unnecessary dependency between the entities
5
Chapter 7 5 Database Principles Functional Dependencies and Keys Functional Dependency: The value of one attribute (the determinant) determines the value of another attribute Candidate Key: – A unique identifier. One of the candidate keys will become the primary key E.g. perhaps there is both credit card number and SS# in a table…in this case both are candidate keys – Each non-key field is functionally dependent on every candidate key
6
Chapter 7 6 Database Principles 5.22 -Steps in normalization
7
Chapter 7 7 Database Principles First Normal Form No multivalued attributes Every attribute value is atomic Fig. 5-2a is not in 1 st Normal Form (multivalued attributes) it is not a relation Fig. 5-2b is in 1 st Normal form All relations are in 1 st Normal Form
8
Chapter 7 8 Database Principles Second Normal Form 1NF plus every non-key attribute is fully functionally dependent on the ENTIRE primary key – Every non-key attribute must be defined by the entire key, not by only part of the key – No partial functional dependencies Fig. 5-2b is NOT in 2 nd Normal Form (see fig 5-23b)
9
Chapter 7 9 Database Principles Fig 5.23(b) – Functional Dependencies in EMPLOYEE2 EmpIDCourseTitleDateCompletedSalaryDeptNameName Dependency on entire primary key Dependency on only part of the key EmpID, CourseTitle DateCompleted EmpID Name, DeptName, Salary Therefore, NOT in 2 nd Normal Form!!
10
Chapter 7 10 Database Principles Getting it into 2 nd Normal Form See p193 – decomposed into two separate relations EmpIDSalaryDeptNameNameCourseTitleDateCompletedEmpID Both are full functional dependencies
11
Chapter 7 11 Database Principles Third Normal Form 2NF PLUS no transitive dependencies (one attribute functionally determines a second, which functionally determines a third) Fig. 5-24, 5-25
12
Chapter 7 12 Database Principles Figure 5-24 -- Relation with transitive dependency (a) SALES relation with simple data
13
Chapter 7 13 Database Principles Figure 5-24(b) Relation with transitive dependency CustID Name CustID Salesperson CustID Region All this is OK (2 nd NF) BUT CustID Salesperson Region Transitive dependency (not 3 rd NF)
14
Chapter 7 14 Database Principles Figure 5.25 -- Removing a transitive dependency (a) Decomposing the SALES relation
15
Chapter 7 15 Database Principles Figure 5.25(b) Relations in 3NF Now, there are no transitive dependencies… Both relations are in 3 rd NF CustID Name CustID Salesperson Salesperson Region
16
Chapter 7 16 Database Principles Other Normal Forms (from Appendix B) Boyce-Codd NF – All determinants are candidate keys…there is no determinant that is not a unique identifier 4 th NF – No multivalued dependencies 5 th NF – No “lossless joins” Domain-key NF – The “ultimate” NF…perfect elimination of all possible anomalies
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.