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
![](/sayura/images/logo2.png)