Normalization MIS335 Database Systems
Why Normalization? Optimizing database structure Removing duplications Accelerating the instructions Data integrity!
Normalization Terms Functional dependency – X -> Y – Y has a functional dependency on X – For example, {StudentID} -> {Student } Transitive dependency – If X->Y and Y-> Z, then X-> Z Superkey – Combination of attributes for uniquely identifying database records – There may be several superkeys.
Normalization Terms Candidate key – Subset of superkey – Minimal superkey – Student table with,, is a superkey is the candidate key because it can define a tuple uniquely. Primary key – One of the candidate key
Normalization Steps 1NF 2NF 3NF BCNF (Boyce-Codd) 4NF 5NF – 4NF and 5NF are not used for this course.
1NF Each attribute contains only atomic values – Atomic value cannot be decomposed. If each attribute contains atomic values, that relation is in first-normal form.
1NF
2NF Non-key values must depend on entire primary key, not only part of primary key
2NF
3NF All non-key values depend only on primary key, not any other.
3NF
An example... PK(customer_id, Order_id)