liveBook · Manning

First normal form

As explained in 100 SQL Server Mistakes and How to Avoid Them

First normal form is a relational design state in which attributes are atomic and uniquely named, repeating groups are removed, and rows are uniquely identifiable.

First normal form (1NF) is the first normalization step: make attributes atomic and uniquely named, treat their order as irrelevant, and treat row order as irrelevant. It prevents a record from hiding several values inside one field or from relying on position for meaning. section 4.1.3

Use this practical 1NF check:

  • Split a value when it contains multiple facts that need separate treatment, such as a person’s first and last name. section 4.1.3
  • Move repeating attribute groups, such as order items and quantities, into a separate entity. section 4.1.3
  • Give every attribute a distinct name; do not make meaning depend on column or row order. section 4.1.3

Order details are a repeating group

A sales order can contain several products and quantities. Rather than add a repeating set of product fields to Sales, place each product-and-quantity entry in Sales Order Details and identify it with the related order and product keys. section 4.1.3

Sales
Sales Order Date
Sales Order Number
Sales Person Name
Sales Person Email
Sales Area Name
Sales Area Manager
Customer Company Name
Customer Contact Name
Customer Contact Email
Customer Invoice Address
Customer Delivery Addresses
Sales Order Delivery Due Date
Sales Order Delivery Actual Date
Sales Order Item
Sales Order Quantities
Currier Used for Delivery
 
Purchasing
Supplier Name
Supplier Contact Name
Supplier Contact Email
Supplier Address
Purchase Order Date
Purchase Order Number
Purchase Order Items
Purchase Order Quantities
 
Products
Product Name
Product Stock Level
Product Next Manufacture Date
Product Next Manufacture Quantity
Back Order Manufacturing ID
Product Type Name
Product Type Description
Product Category Name
Product Category Description
Product Subcategory Name
Product Subcategory Description

Inspect the initial Sales, Purchasing, and Products attributes for multi-value fields such as delivery addresses, order items, and quantities—the warning signs that require 1NF decisions. section 4.1.3

How 100 SQL Server Mistakes and How to Avoid Them covers it

How deep it goes
Defines atomic, uniquely named attributes and repeating-group removal, then defers dependency analysis to 2NF and 3NF.
Examples
Uses Sales Order Details, products, quantities, addresses, and a spreadsheet-based schema comparison.
What it assumes
Teaches 1NF from attribute and entity modeling while requiring understanding of the data’s business meaning and rules.
What you can do after
Evaluate/understand whether a schema contains non-atomic fields, repeating groups, or order-dependent meaning.
How it connects
Connects normalization with entities, primary keys, composite primary keys, and attribute dependencies.

This explainer was generated by Manning's knowledge graph from the text of 100 SQL Server Mistakes and How to Avoid Them. The section links point to the parts of the book it draws on.