Information Systems Program
Module 11
Normalization Concepts and Practice
Lesson 3: Normal Forms
Lesson Objectives
• Understand the nature of normal forms
• Define Boyce-Codd Normal Form (BCNF)
• Apply BCNF to a list of functional dependencies
Information Systems Program
Normalization
Table Apply Normal Revised
Design Form Table
FDs (FD Pattern) Design
• Detect violations
• Split table
Information Systems Program
Normalization Simplification
• Determination of a complete and minimal list of
FDs
• Determination of unique columns from FDs
• Details too complex and specialized for this
course
Information Systems Program
Relationships of Normal Forms
1NF
2NF
3NF/BCNF
4NF
5NF
DKNF
Information Systems Program
Boyce-Codd Normal
Form (BCNF)
Every
Apply with
Simple determinant
BCNF
definition must be
procedure
unique.
6
Information Systems Program
Big University Database Table
StdNo StdEmail StdClass OfferNo OffYear EnrGrade CourseNo CrsDesc
Information Systems Program
BCNF Example
Unique columns in the big university table
– <StdNo, OfferNo>
– <StdEmail, OfferNo>
Many BCNF violations
StdNo StdCity, StdClass, StdEmail
StdEmail StdNo
OfferNo OffTerm, OffYear, CourseNo
CourseNo CrsDesc
– StdNo, OfferNo EnrGrade
Information Systems Program
BCNF Procedure
Group FDs Define tables Merge tables
• Same • Each FD • Containment
determinant group • Prevents
• Determinant excessive
as PK splitting
• FKs
Information Systems Program
BCNF Procedure Example
Group FDs Define tables Merge tables
• StdNo • Student • Student
• StdEmail • StudentEmail • StudentEmail
• OfferNo • Offering
• CourseNo • Course
• OfferNo, • Enrollment
StdNo
FKs in step 2
• Student.StdEmail,
• StudentEmail.StdNo
• Offering.CourseNo
• Enrollment.StdNo, Enrollment.OfferNo
10
Information Systems Program
Merging Tables
• Step 2 defines too many tables when two columns
determine each other.
– StdNo StdEmail
– StdEmail StdNo
• Merge tables with a containment relationship
– Student(StdNo, StdEmail, StdCity, StdClass)
– StudentEmail(StdEmail, StdNo)
– Merge tables because Student contains columns of StdEmail
• Multiple unique columns do not violate BCNF
11
Information Systems Program
Summary
• Covered general idea of normal forms and details of
BCNF
• Know BCNF definition and simplified procedure
• Study examples for work on practice and graded
problems
12
Information Systems Program