Second Normal Form (2NF)

By | January 26, 2010

Second Normal Form (2NF) :-A table is said to be in its Second Normal Form if it satisfied the following conditions:-

1) It satisfies the condition for the First Normal Form (1NF),

2) It do not includes any partial dependencies where a column is dependent only a part of a primary key.

For example suppose we have a table EmpProjDetail, which contains the employee details and its project details like projected, project name and durations in terms of days on which he/she is allocated to the project.

Table Name:-EmpProjDetail

Primary Key :- EmpId + projectid

EmpId ProjectId EmpName ProjectName Days
1 1 Vivek Abc Bank 35
2 2 Sudeep AbeBook 10

In this table, the primary key is composition of two columns EmpId and ProjectId. Now this table is in 1NF but it is not in the 2NF since the column EmpName can be depended on the column EmpId and the column ProjectName can be depended on the column ProjectId which violates the second condition for the 2NF.

We can break this table into three different tables to convert it into the 2NF. These tables are given below:-

Table name:- EmpDetails

Primary Key: – EmpId

EmpId EmpName
1 Vivek
2 Sudeep

Table name:- ProjDetails

Primary Key: – ProjectId

ProjectId ProjectName
1 Abc Bank
2 AbeBook

Table name:- EmpProjdetails

Primary Key: – empId + ProjectId

EmpId ProjectId Days
1 1 35
2 2 10

Now all the three tables are in 1NF and all the columns of these tables are fully depended on their respective primary keys.

7 thoughts on “Second Normal Form (2NF)

  1. Anonymous

    Thank you for your simple and clear examples. Studied this in college a long time ago, this is a good refresher.

    Reply
    1. admin Post author

      Thanks Swapna for your valuable feedback… Hoping for more feedback from you..

      Regards
      Vivek

      Reply
  2. Anonymous

    I have a doubt in 2NF it is said that "All attributes of an entity should be fully dependent on the whole primary key" . Then how come third table is said to be 2NF because it depends on composite key (combination of both empId + ProjectId) . Days allocated to a particular project need not depend fully on emp id it can also depend only on project id.can u please clarify by giving so more detailed explaination.I am newbie in SQL and now Iam still more confused

    Reply
    1. Arvind

      In third table, we have to add one column more to identify the row uniquely and this column should be primary key.

      Reply
  3. Anonymous

    I have a doubt in 2NF it is said that "All attributes of an entity should be fully dependent on the whole primary key" . Then how come third table is said to be 2NF because it depends on composite key (combination of both empId + ProjectId) . Days allocated to a particular project need not depend fully on emp id it can also depend only on project id.can u please clarify by giving so more detailed explaination.I am newbie in SQL and now Iam still more confused

    Reply

Leave a Reply