



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
A chapter from the 'database management systems' textbook by kristen lefevre, focusing on normalization. Normalization is a process used to eliminate redundancy and prevent anomalies in database schemas. Topics such as redundancy problems, functional dependencies, and the importance of lossless join decompositions and normal forms like bcnf and 3nf.
Typology: Exams
1 / 7
This page cannot be seen from the preview
Don't miss anything!




4/12/09 EECS 484: Database Management Systems, Kristen LeFevre 1
4/12/09 EECS 484: Database Management Systems, Kristen LeFevre 2
Data stored, operations, apps, …
Model high-level description of the data, constraints, ER model
Choose a DBMS and design a database schema
Normalize relations, avoid redundancy, anomalies …
Examine physical database structures like indices, restructure …
4/12/09 EECS 484: Database Management Systems, Kristen LeFevre 3
Supplier Supplies Item name addr (^) price item desc Acme Flowers pink A2 $ Acme Paint blue A2 $ Acme Dynamite boom A2 $ Name Item Desc Addr Price Redundant storage problem: Supplier information stored once per item it supplies!
4/12/09 EECS 484: Database Management Systems, Kristen LeFevre 4
A supplier supplies multiple items
Change address of a supplier
Insert a supplier (nulls?) What if the supplier doesn’t supply any items?
What if we want to delete the last item tuple? Acme Flowers pink A2 $ Acme Paint blue A2 $ Acme Dynamite boom A2 $ Name Item Desc Addr Price
4/12/09 EECS 484: Database Management Systems, Kristen LeFevre 5
Resolve with functional dependencies
replacing larger relation with smaller ones
Normal forms: guarantees against (some) redundancy 4/12/09 EECS 484: Database Management Systems, Kristen LeFevre 6
A form of IC D: X → Y X and Y subsets of relation R’s attributes t1 ∈ r, t2 ∈ r, ∏X (t1) = ∏X (t2) ⇒ ∏y (t1) = ∏y (t2) An FD is a statement about all allowable relations. Based only on application semantics, can’t deduce from instances Can simply check if an instance violates FD (and other ICs) Consider, (X,Y) → Z. Does this imply (X,Y) is a key?
Role of FDs in detecting redundancy: Relation R with 3 attributes, ABC. No FDs hold ⇒ no redundancy. A → B ⇒ 2 or more tuples with the same A value, redundantly have the same B value!
4/12/09 EECS 484: Database Management Systems, Kristen LeFevre 10
Some queries become more expensive. (more joins) Lossless Join: Can we reconstruct the original relation from instances of the decomposed relations? Dependency Preservation: Checking some dependencies may require joining the instances of the decomposed relations. 4/12/09 EECS 484: Database Management Systems, Kristen LeFevre 11
4/12/09 EECS 484: Database Management Systems, Kristen LeFevre 12
4/12/09 EECS 484: Database Management Systems, Kristen LeFevre 13
4/12/09 EECS 484: Database Management Systems, Kristen LeFevre 14
More Restrictive 4/12/09 EECS 484: Database Management Systems, Kristen LeFevre 15
Rel. R with FDs F is in BCNF if, for all X → A in F+ A X (trivial FD), or X is a super key i.e. all non-trivial FDs over R are keys. No redundancy in R (at least none that FDs detect) Most desirable normal form
4/12/09 EECS 484: Database Management Systems, Kristen LeFevre 19