<%dim crumb crumb="1st Normal Form (1nf)" crumb1="1st Normal Form" crumb2="1st Normal Form Table Design" %> First Normal Form Database Table Design
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

First Normal Form

First Normal Form Definition

  • Repeating groups of fields have been removed

  • Data is positional independent (columns do not contain database data: i.e. sales_2001, sales_2002

  • Each field (cell) contains only a single value

  • Every row in the table contains the same column names and data types as the previous row

  • A primary key has been defined

  • Each attribute field is linked to a primary key field (in our example below, Emp_Hire_Date is linked to key field Employee_Name and Project_Manager is linked to key field Project_Name)

A summary of this list above is often stated as 'All fields in the database are atomic', meaning they are reduce to a single data value in each cell of the table.


The following table is in first normal form (1NF/1ST):

Project_Name             (primary key field when combined with Employee_Name)


Problems With Data Stored in 1NF

Data duplication: within the same project the project manager name will be duplicated.  If the manager is replaced then all records for that project will need to be updated (cascade update related records).  The result is more space is used for each record and processing time is consumed checking updates and performing updates.

To add a project manager you should already have an employee in the project.

See our 2nd normal form table design discussion.

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