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.
Discover more from Technology with Vivek Johari
Subscribe to get the latest posts sent to your email.
Thank you for your simple and clear examples. Studied this in college a long time ago, this is a good refresher.
why the sound clip is in hurry way
vry easy example.
Thanks
Thanks Swapna for your valuable feedback… Hoping for more feedback from you..
Regards
Vivek
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
In third table, we have to add one column more to identify the row uniquely and this column should be primary key.
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