normalization mis335 database systems. why normalization? optimizing database structure removing...

13
Normalization MIS335 Database Systems

Upload: lee-mathews

Post on 18-Jan-2016

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Normalization MIS335 Database Systems. Why Normalization? Optimizing database structure Removing duplications Accelerating the instructions Data integrity!

Normalization

MIS335 Database Systems

Page 2: Normalization MIS335 Database Systems. Why Normalization? Optimizing database structure Removing duplications Accelerating the instructions Data integrity!

Why Normalization?

• Optimizing database structure• Removing duplications• Accelerating the instructions• Data integrity!

Page 3: 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} -> {StudentEmail}

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

Page 4: Normalization MIS335 Database Systems. Why Normalization? Optimizing database structure Removing duplications Accelerating the instructions Data integrity!

Normalization Terms

• Candidate key– Subset of superkey – Minimal superkey– Student table with <studentID>, <name>, <age>• <studentID, name> is a superkey• <studentID> is the candidate key because it can define

a tuple uniquely.

• Primary key– One of the candidate key

Page 5: Normalization MIS335 Database Systems. Why Normalization? Optimizing database structure Removing duplications Accelerating the instructions Data integrity!

Normalization Steps

• 1NF• 2NF• 3NF• BCNF (Boyce-Codd)• 4NF• 5NF– 4NF and 5NF are not used for this course.

Page 6: Normalization MIS335 Database Systems. Why Normalization? Optimizing database structure Removing duplications Accelerating the instructions Data integrity!

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.

Page 7: Normalization MIS335 Database Systems. Why Normalization? Optimizing database structure Removing duplications Accelerating the instructions Data integrity!

1NF

Page 8: Normalization MIS335 Database Systems. Why Normalization? Optimizing database structure Removing duplications Accelerating the instructions Data integrity!

1NF

Page 9: Normalization MIS335 Database Systems. Why Normalization? Optimizing database structure Removing duplications Accelerating the instructions Data integrity!

2NF

• Non-key values must depend on entire primary key, not only part of primary key

Page 10: Normalization MIS335 Database Systems. Why Normalization? Optimizing database structure Removing duplications Accelerating the instructions Data integrity!

2NF

Page 11: Normalization MIS335 Database Systems. Why Normalization? Optimizing database structure Removing duplications Accelerating the instructions Data integrity!

3NF

• All non-key values depend only on primary key, not any other.

Page 12: Normalization MIS335 Database Systems. Why Normalization? Optimizing database structure Removing duplications Accelerating the instructions Data integrity!

3NF

Page 13: Normalization MIS335 Database Systems. Why Normalization? Optimizing database structure Removing duplications Accelerating the instructions Data integrity!

An example...

PK(customer_id, Order_id)