The 1st level of normalization or the 1st normal form
deals with data redundancy within each table record.
In order to determine if a database table is in the
1st normal form, traverse the table design from column
to column within the same row and check if the row is
free from redundant data.
Consider the following database table design for bank
customers:
Let's assume that a bank is using such a table to store
information about a customer and the type of financial
products that the customer has 'purchased' - e.g. credit
card, checking account, savings account, etc.
It is quite obvious that there is redundant data in
each row - i.e. the product information. Another deficiency
is that the design assumes that each customer will have
a maximum of 3 products. These problems can easily be
removed by normalizing the table to it's 1st normal
form. The resulting design will be as follows:
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 cust_id field.