Normalization Step 3 : 2NF to 3NF
 

Third Normal Form

Transitive Dependency is a type of functional dependency where an attribute is
functionally dependent on an attribute other than the primary key. thus its
value is only indirectly determined by the primary key.

Create a separate table containing the attribute and the fields that are
functionally dependent on it. Tables created at this step will usually contain
descriptions of either resources or agents. Keep a copy of the key attribute in
the original file.

The new Customer table would be:
CustomerNo, CustomerName, CustomerAdd

The New Clerk Table
ClerkNo, ClerkName

All of these fields except the primary key will be removed from the original table.
The primary key will be left in the original table to allow linking of data as follows:

Sales Table
SalesOrderNo, Date, CustomerNo, ClerkNo

These tables make up the database in third
normal form.

ITEM TABLE : ItemNo, Description

SALES TABLE : SalesOrderNo, ItemNo, Qty, UnitPrice
CUSTOMER TABLE : CustomerNo, CustomerName, CustomerAdd
CLERK TABLE : ClerkNo, ClerkName

What if we did not Normalize the Database to Third Normal Form?
· Repetition of Data – Detail for Customer/Clerk would appear on every Sales Order
· Delete Anomalies – Deleting a sales order, deletes the customer/clerk
· Insert Anomalies – To insert a customer/clerk, we must insert sales order.
· Update Anomalies – To change the name/address, etc, we must change it on every

Considering Previous Example of Student Courses

Sometimes within an entity we can find that there exists a "key" and "dependent" relationship between a group of non-key attributes. In table 1 a relationship exists between Tutor Id and Tutor Name. In this case they are removed to form a new table.




ER Diagram for Database



(c) Shilpa Sayura Foundation 2006-2017