Publishers of technology books, eBooks, and videos for creative people

Home > Articles > Web Design & Development

  • Print
  • + Share This
This chapter is from the book

This chapter is from the book

First Normal Form

For a database to be in First Normal Form (1NF), each column must contain only one value (this is sometimes described as being atomic). A table containing one field for an address would not be in 1NF because it stores the street address, city, state, ZIP code, and possibly country—five different bits of information—in one field. Similarly, a field containing a person's first and last name would also fail this test (although some would suggest that a person's full name is sufficiently atomic as is).

I'll continue the normalization process by checking the existing structure for 1NF compliance.

To make a database 1NF compliant:

  1. Identify any field that contains multiple pieces of information.

    Looking back at Table 3.1, two columns are not 1NF compliant: Client Information and Expense Category & Description. The date fields contain a day, month, and a year, but subdividing past that level of specificity is really not warranted.

  2. Break up any fields found in step 1 into separate fields (Figure 3.3).

    To fix this problem, I'll separate Client Information into Client Name, Client Street Address, Client City, Client State, Client Zip, and Client Phone. Next, I'll turn Expense Category & Description into Expense Category and Expense Description.

    Figure 3.3

    Figure 3.3 After running through the 1NF rules, I've separated two fields into more logical subfields.

  • Double-check that all new fields created in step 2 pass the 1NF test.
    • + Share This
    • 🔖 Save To Your Account