Normalization Review

First, lets have a quick review of the previous lecture's definitions and the four normal forms that we discussed.

A Table is in 1NF

With 1NF our goal is for our table to just be a clean and well defined table, at this point our tables need to meet the following requirements:

A Table is in 2NF

A Table is in 3NF

A Table is in Boyce-Codd Normal Form (BCNF)

Normally we will put in the work and effort to ensure that all of our tables are normalized into Boyce-Codd Normal Form.

Lets review an example of a table that is in 3NF but not in BCNF

Imagine we have a table \( R(A, B, C) \) with the following functional dependencies:

and with the following candidate keys:

Reviewing our steps:

This table can not be decomposed further into BCNF and we would leave it in 3NF.

Practice Problem Sets

The purpose of this lecture is to practice normalization problems, please form up into small groups and attempt the following:

  1. Problem Set #1 (Practice Normalization)
  2. Problem Set #2 (Practice Determining Functional Dependencies / Candidate Keys)