normalization
play

Normalization Lecture 9 Normalization 24 February 2015 1 - PowerPoint PPT Presentation

Wentworth Institute of Technology COMP355 Databases | Spring 2015 | Derbinsky Normalization Lecture 9 Normalization 24 February 2015 1 Wentworth Institute of Technology COMP355 Databases | Spring 2015 | Derbinsky Outline 1. Context 2.


  1. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Normalization Lecture 9 Normalization 24 February 2015 1

  2. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Outline 1. Context 2. Normalization Objectives 3. Functional Dependencies 4. Normal Forms – 1NF – 2NF – 3NF Normalization 24 February 2015 2

  3. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Database Design and Implementation Process Normalization 24 February 2015 3

  4. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Normalization • Theory and process by which to evaluate and improve relational database design • Typically divide larger tables into smaller, less redundant tables • Spans both logical and physical database design Normalization 24 February 2015 4

  5. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Objectives of Normalization • Make the schema informative • Minimize information duplication • Avoid modification anomalies • Disallow spurious tuples Note: during physical tuning we may prioritize query execution speed and thus denormalize (e.g. OLTP vs. OLAP) Normalization 24 February 2015 5

  6. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Example Schema Normalization 24 February 2015 6

  7. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Straw Man Schema Normalization 24 February 2015 7

  8. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Make the Schema Informative • Design a relational schema so that it is easy to explain its meaning • Do not combine attributes from multiple entity types and relationship types into a single relation; semantic ambiguities will result and the relation cannot be easily explained • Normalized tables, and the relationship between one normalized table and another, mirror real-world concepts and their interrelationships Normalization 24 February 2015 8

  9. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Example Schema What is this table about? • Employees? Departments? Normalization 24 February 2015 9

  10. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Minimize Information Duplication • Avoid data redundancies • Avoid excessive use of NULLs (e.g. fat tables) – Wastes space – Can make information querying/understanding complicated and error-prone Normalization 24 February 2015 10

  11. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Avoid Modification Anomalies An undesired side-effect resulting from an attempt to modify a table [that has not been sufficiently normalized] Types of updates: – Insertion – Update – Deletion Normalization 24 February 2015 11

  12. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Insertion Anomaly Difficult or impossible to insert a new row • Add a new employee – Unknown manager – Typo in department/manager info • Add a new department – Requires at least one employee Normalization 24 February 2015 12

  13. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Update Anomaly Updates may result in logical inconsistencies • Change the department name/manager Normalization 24 February 2015 13

  14. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Deletion Anomaly Deletion of data representing certain facts necessitates deletion of data representing completely different facts • Delete James E. Borg Normalization 24 February 2015 14

  15. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Disallow Spurious Tuples Avoid relational design that matches attributes across relations that are not (foreign key, primary key) combinations because joining on such attributes may produce invalid tuples Normalization 24 February 2015 15

  16. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Example Decomposition CAR ¡ ID ¡ Make ¡ Color ¡ 1 ¡ Toyota ¡ Blue ¡ 2 ¡ Audi ¡ Blue ¡ 3 ¡ Toyota ¡ Red ¡ CAR1 ¡ CAR2 ¡ ID ¡ Color ¡ Make ¡ Color ¡ 1 ¡ Blue ¡ Toyota ¡ Blue ¡ 2 ¡ Blue ¡ Audi ¡ Blue ¡ 3 ¡ Red ¡ Toyota ¡ Red ¡ Normalization 24 February 2015 16

  17. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Natural Join ID ¡ Make ¡ Color ¡ 1 ¡ Toyota ¡ Blue ¡ 1 ¡ Audi ¡ Blue ¡ 2 ¡ Toyota ¡ Blue ¡ 2 ¡ Audi ¡ Blue ¡ 3 ¡ Toyota ¡ Red ¡ CAR1 ¡ CAR2 ¡ ID ¡ Color ¡ Make ¡ Color ¡ 1 ¡ Blue ¡ Toyota ¡ Blue ¡ 2 ¡ Blue ¡ Audi ¡ Blue ¡ 3 ¡ Red ¡ Toyota ¡ Red ¡ Normalization 24 February 2015 17

  18. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Additive Decomposition CAR ¡ ID ¡ Make ¡ Color ¡ 1 ¡ Toyota ¡ Blue ¡ 2 ¡ Audi ¡ Blue ¡ 3 ¡ Toyota ¡ Red ¡ JOIN ¡ ID ¡ Make ¡ Color ¡ 1 ¡ Toyota ¡ Blue ¡ 1 ¡ Audi ¡ Blue ¡ 2 ¡ Toyota ¡ Blue ¡ 2 ¡ Audi ¡ Blue ¡ 3 ¡ Toyota ¡ Red ¡ Normalization 24 February 2015 18

  19. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Functional Dependency (FD) In a relation r , a set of attributes Y is functionally dependent upon another set of attributes X ( ) iff for all two tuples t 1 X → Y and t 2 in r that have t 1 [ X ]=t 2 [ X ], they also have t 1 [ Y ]=t 2 [ Y ] One cannot determine which FDs hold unless the meaning of and the relationships among the attributes are known; one can state an FD does not hold given violating tuples • FYI: these are the “data dependencies” foreshadowed in Lecture 2 (Relational Model) Normalization 24 February 2015 19

  20. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky FD Example (1) StudentID ¡ Year ¡ Class ¡ Instructor ¡ 1 ¡ Sophomore ¡ COMP355 ¡ Derbinsky ¡ t 1 2 ¡ Sophomore ¡ COMP285 ¡ Derbinsky ¡ t 2 3 ¡ Junior ¡ COMP355 ¡ Derbinsky ¡ t 3 3 ¡ Junior ¡ COMP285 ¡ Derbinsky ¡ t 4 2 ¡ Sophomore ¡ COMP355 ¡ Russo ¡ t 5 4 ¡ Sophomore ¡ COMP355 ¡ Russo ¡ t 6 Every ¡student ¡is ¡classified ¡as ¡either ¡a ¡ ¡ • { StudentID } → { Y ear } Freshman, ¡Sophomore, ¡Junior, ¡or ¡Senior. ¡ Students ¡can ¡take ¡only ¡a ¡single ¡sec<on ¡ • { StudentID, Class } → { Instructor } of ¡a ¡class. ¡ Key(s): { StudentID, Class } Normalization 24 February 2015 20

  21. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky FD Example (2) StudentID ¡ Year ¡ Class ¡ Instructor ¡ 1 ¡ Sophomore ¡ COMP355 ¡ Derbinsky ¡ t 1 2 ¡ Sophomore ¡ COMP285 ¡ Derbinsky ¡ t 2 3 ¡ Junior ¡ COMP355 ¡ Derbinsky ¡ t 3 3 ¡ Junior ¡ COMP285 ¡ Derbinsky ¡ t 4 2 ¡ Sophomore ¡ COMP355 ¡ Russo ¡ t 5 4 ¡ Sophomore ¡ COMP355 ¡ Russo ¡ t 6 { StudentID } 9 { Instructor } { Class } 9 { Y ear } { StudentID } 9 { Class } { Class } 9 { StudentID } { Y ear } 9 { StudentID } { Class } 9 { Instructor } { Y ear } 9 { Instructor } { Instructor } 9 { Class } { Y ear } 9 { Class } { Instructor } 9 { Y ear } { Instructor } 9 { StudentID } Normalization 24 February 2015 21

  22. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky FD Example (3) StudentID ¡ Year ¡ Class ¡ Instructor ¡ 1 ¡ Sophomore ¡ COMP355 ¡ Derbinsky ¡ t 1 2 ¡ Sophomore ¡ COMP285 ¡ Derbinsky ¡ t 2 3 ¡ Junior ¡ COMP355 ¡ Derbinsky ¡ t 3 3 ¡ Junior ¡ COMP285 ¡ Derbinsky ¡ t 4 2 ¡ Sophomore ¡ COMP355 ¡ Russo ¡ t 5 4 ¡ Sophomore ¡ COMP355 ¡ Russo ¡ t 6 { Student, Instructor } 9 { Class } { Y ear, Class } 9 { Instructor } { Y ear, Class } 9 { StudentID } { Class, Instructor } 9 { StudentID } { Class, Instructor } 9 { Y ear } { Y ear, Class, Instructor } 9 { StudentID } Normalization 24 February 2015 22

  23. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Exercise Consider the following visual depiction of the functional dependencies of a relational schema. 1. List all FDs in algebraic notation 2. Identify all key(s) of of this relation A ¡ B ¡ C ¡ D ¡ E ¡ Normalization 24 February 2015 23

  24. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Answer Functional Dependencies Keys A → B DA CD → E DB BD → A D → C A" B" C" D" E" Normalization 24 February 2015 24

  25. Wentworth Institute of Technology COMP355 – Databases | Spring 2015 | Derbinsky Important FD Definitions X → Y, Y ⊆ X Trivial FD An attribute that does not occur in any key Non-Prime (opposite: Prime) X → Y, ∀ A ∈ X (( X − { A } ) 9 Y ) Full FD X → Z * X → Y and Y → Z Transitive FD Normalization 24 February 2015 25

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend