First Normal form (INF)

SQL Normalization SQL Server

First Normal Form (INF)

A table is said to be in a First Normal Form (1NF) if it satisfy the following conditions:-
1)If the columns of the table only contain atomic values (Single, indivisible).
2)Primary key is defined for the table
3)All the columns of the table are defined on the primary key.The first condition also implies that no column should contain the set of values. For example, suppose we have a table EmpDetailsTable Name :-EmpDetails
Primary Key:- EmpId

EmpId     EmpName              EmpRegdate         ExpertiseDomain
1                Raman                      23/04/2006                 eLearning
2               Vivek Johari               02/01/2006              {Banking, financial, eLearning}

Now, in the above table the column ExpertiseDomain contains a set of values for the EmpId 2. Therefore this table is not in the 1NF form. To make this table in the 1NF, we need to break this table into two tables, one contains the employee information EmpInfo (EmpId, EmpName, and EmpRegdate) and the other table contains the employee expertisedomain information EmpexpertDomain (EmpId, ExpertiseDomain). In both the tables, EmpId will be the primary key.

Table Name:- EmpInfo
Primary Key:- EmpId

EmpId     EmpName            EmpRegdate
1               Raman                   23/04/2006
2               Vivek Johari           02/01/2006

Table Name:- EmpexpertDomain
Primary Key:-( EmpId , ExpertiseDomain)

EmpId           ExpertiseDomain
1                         eLearning
2                         Banking
2                         financial
2                         eLearning

Now these tables is said to be in the 1NF since all the columns of these tables contains the atomic values and all the values of the columns are dependent on the primary keys.

Related Articles

13 thoughts on “First Normal form (INF)

  1. the primary key of EmpexpertDomain table should be empid and expertisedomain as compositely.

    Thank you.

    1. Thanks for your feedback. I have corrected the error.Keep visiting my articles. I am looking forward to your more comments. 🙂

  2. Very nice article and interesting..

    I hav 1 doubt…Primary key has unique values..How in this table "EmpexpertDomain",Primary key column "Empid" has repeated value "2"??? in this case this column not considered to be Primary key,right?

    1. Hi Vijila,
      Again thanks for your comments. As mention in the article, primary key is the combination of the two columns ( EmpId , ExpertiseDomain). So the single column Empid can contains duplicate value but the combination of these two columns do not contains same value for more than one rows.

Leave a Reply