SQL Server › Normalization
What is the first normal form, and what specific rule does it require a table to follow?
BeginnerAnswer
The first normal form requires that every column in a table contains only a single, indivisible value, meaning you should not store multiple values, like several phone numbers, crammed into a single column separated by commas, but instead store them properly across multiple rows or in a separate related table.
-- Violates first normal form
CREATE TABLE Customers (CustomerId INT, PhoneNumbers VARCHAR(200)); -- '555-1234, 555-5678'
-- Follows first normal form
CREATE TABLE CustomerPhones (CustomerId INT, PhoneNumber VARCHAR(20));Real-world example A customer database originally stored multiple phone numbers as a single comma separated text value, but was redesigned into a separate phone numbers table to properly follow the first normal form and make searching by phone number possible.