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 EmpDetails
Table 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.
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 EmpDetails
Table 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.
the primary key of EmpexpertDomain table should be empid and expertisedomain as compositely.
ReplyDeleteThank you.
Thanks for your feedback. I have corrected the error.Keep visiting my articles. I am looking forward to your more comments. :-)
Deleteprove helpful..thnks
ReplyDeletevery helpful informations ....thans vivek
ReplyDeleteThanks..
DeleteThanxx.....IT's very easy to understand.
ReplyDeleteThanks
DeleteThanks..:-)
ReplyDeleteThanx alot sir your article is helping me for understanding SQL from depth !!!!
ReplyDeleteRegards
Ashutosh Srivastava
Very nice article and interesting..
ReplyDeleteI 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?
Hi Vijila,
DeleteAgain 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.