2nd normal form

The 2nd level of normalization or the 2nd normal form deals with data redundancy that occurs vertically across the different rows in a table. In order to determine if a database table is in the 2nd normal form, traverse the actual table record data from top to bottom for each column in the table and check if each column is free from redundant data.

Consider the following database table for bank customers (let's assume that the bank's policy allows each customer to have only 1 product):

customers table
column
cust_id primary key
lastname
firstname
product

cust_idlastnamefirstnameproduct
0001 henry john credit card
0002 smith adam savings
0003 johnson mary credit card
0004 bailey harry credit card
0005 morgan alex savings

It is quite obvious that there is redundant data in the product column. This redundancy can easily be removed by normalizing the table to it's 2nd normal form. The resulting design will be as follows:

customers table
column
cust_id primary key
lastname
firstname
product_id

products table
column
product_id primary key
name

The normalization results in 2 tables. The product table is tied back to the customer table through the use of a foreign key - in this case, the product_id field.


See also: 1st normal form and 3rd normal form

Advertising

Advertising:
Back
Top