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:
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:
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.