The 3rd level of normalization or the 3rd normal form requires that each column in a database table must be:
1. dependent on the table's primary key
2. independent on all other non-key columns in the table.
Consider the following database table design for bank products:
products table
column | |
product_id |
primary key |
description |
|
category |
|
risk_level |
|
Let's assume that a bank is using such a table to store information about the bank's products. Each product will be part of a category of products and each category will have a risk level associated with the category.
It is quite obvious that both the product_description and the product_category fields are tied to the product_id field while the risk_level field is tied to the product_category field. In order to normalize the table to it's 3rd normal form, the resulting design follows:
products table
column | |
product_id |
primary key |
description |
|
category_id |
foreign key |
categories table
column | |
category_id |
primary key |
risk level |
|
The normalization results in 2 tables. The product category table is tied back to the product table through the use of a
foreign key - in this case, the category_id field.
See also:
1st normal form and
2nd normal form