3rd normal form

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

Share This Page