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
