<%dim crumb crumb="Second Normal Form (2nf)" crumb1="Second Normal Form" crumb2="2nd Normal Form Table Design" %> Second Normal Form
Home  Fees/Services  Access Examples  Tutorials  Access Downloads  Articles  Search  Forums  Blockchain Tech  Contact  Privacy  Links
<% response.write crumb1 %>
Home > Access Tutorials > Access Table Design Tutorial > <%response.write crumb%>

Link Database Tables
0th Normal Form (0nf)
First Normal Form
Second Normal Form
3rd Normal Form
Table Design Summary
Table Design Tutorial
Access Join Tables

Table Level Events

Repair Corrupted Table

Second Normal Form Table Normalization

Definition Examples and Recommendations

Second Normal Form (2NF) Definition


Second Normal Form (2NF) only comes into play when the primary key of the table is comprised of two or more fields and each of these fields is not a candidate to be a primary key of the table.

Below is our table from First normal form.

Project_Name  (primary key field comb. w/Employee_Name)


To remove the partial dependencies we move Emp_Hire_Date to the Employee table and move Project_Manager to the Project table.  These fields have partial dependencies because they are not dependent on both fields that comprise the primary key.

Now our second normal form table looks like this:


The two fields, together, create a unique record and are therefore the primary key of the table.

There are a few problems with this table, however.  First, if we delete a project we lose employee names unless they are a member of another project.  If the employee gets married and changes their last name then every occurrence of the person's name will need to be updated.  Similarly, if someone decides to make a slight change to the project name then many records may have to be updated.  See how we prevent multiple updates with our table design rules.

As noted above the second normal form is a special case that is designed to deal with tables that have composite primary keys.  Follow this discussion with 3rd normal form examples.

Microsoft Office:
MS Access 2000 Through 2016 and Office 365 & Sharepoint

Contact Information

<% Response.write "Copyright 2000-" & year(now) & " Blue Claw Database Design" %>

Microsoft Access 2007, Access 2010, MS Access 2013