Second Normal Form

Second Normal Form (2NF) is a property of a database table.

A table is in 2NF if it is in FirstNormalForm and every non-key value depends on the primary key.

Here is a table in 2NF:

      SSN     | FirstName | LastName |    DOB   
 -------------|-----------|----------|------------
  333-33-3333 | Joe       | Davis    | 06/01/1923 
  123-45-6789 | Tamiqa    | Brown    | 02/29/1924 
  151-12-0023 | Howard    | Duck     | 11/07/1982 

The SSN field is the primary key. Everything else has no meaning without relation to its primary key, which identifies a unique human being for the SocialSecurityAdministration.

Here is a table that might not be (most likely is not) in 2NF

  Employer | EmpID | FirstName | LastName |     SSN
 ----------|-------|-----------|----------|-------------
  Apple    | 192   | Joe       | Davis    | 333-33-3333 
  Oracle   | 99313 | Tamiqa    | Brown    | 123-45-6789 
  CostCo   | 17732 | Howard    | Duck     | 151-12-0023 
  WalMart  | 33215 | Howard    | Duck     | 151-12-0023 

I say "Might not be" because in many cases it is conceivable that repeated values are because they simply repeat, as in the case where the SSN column is omitted. But, if they may not repeat, as with SSN, then you have a database that is not in 2NF.


CategoryDataStructure CategoryDatabase


EditText of this page (last edited January 6, 2009) or FindPage with title or text search