ss ss ss ss ss ss ss
First Normal Form – 1 Table
ss ss ss ss ss
I gleaned this table from the unstructured data contained within the
ss ss ss ss ss ss ss ss ss ss
ssorder form. I made sure not to have any redundant groups, and each
ss ss ss ss ss ss ss ss ss ss ss ss
sscolumn in the table will contain atomic values. Donut ID, Donut Name,
ss ss ss ss ss ss ss ss ss ss ss
ssDonut Quantity, Unit Price, and Donut Description are an example of a
ss ss ss ss ss ss ss ss ss ss ss
ssrepeating group. As I mentioned earlier, in order to achieve first
ss ss ss ss ss ss ss ss ss ss
ssnormal form, we must eliminate
ss ss ss ss
repeating groups. This requires the use of a composite key made up of Donut
ss ss ss ss ss ss ss ss ss ss ss ss ss
ssOrder ID and Donut ID.
ss ss ss ss
Second Normal Form – 3 Tables
ss ss ss ss ss
In order to achieve second normal form we need to split the
ss ss ss ss ss ss ss ss ss ss ss
first table into three separate tables so that all non-key
ss ss ss ss ss ss ss ss ss ss
attributes are functionally dependent on the entire primary
ss ss ss ss ss ss ss ss
key. I took the attributes that are partially dependent on the
ss ss ss ss ss ss ss ss ss ss ss
primary key, and placed them into separate relations. Donut
ss ss ss ss ss ss ss ss ss
Name, Donut Description, and Unit Price depend only on
ss ss ss ss ss ss ss ss ss
Donut Order ID. Donut Quantity and Item Total depend on
ss ss ss ss ss ss ss ss ss ss
both Donut Order ID and Donut ID.
ss ss ss ss ss ss ss
, Third Normal Form – 4 Tables
ss ss ss ss ss
In order to achieve third normal form we need to eliminate any transitive dependency, meaning an attribute
ss ss ss ss ss ss ss ss ss ss ss ss ss ss ss ss
depends on another attribute that is not the primary key. For example, looking at our second normal form tables,
ss ss ss ss ss ss ss ss ss ss ss ss ss ss ss ss ss ss ss
Customer Last Name is dependent on Donut Order ID. (Each Donut Order ID has only one Customer Last Name
ss ss ss ss ss ss ss ss ss ss ss ss ss ss ss ss ss ss ss
value associated with it) To transform into third normal form we simply move any transitively dependent
ss ss ss ss ss ss ss ss ss ss ss ss ss ss ss ss
attributes to their own relation where they depend on only the primary key.
ss ss ss ss ss ss ss ss ss ss ss ss ss