Why this lesson matters
Understand 1nf, 2nf and 3nf and reason about it with a concrete relational example. Normalization separates facts according to dependency so one fact has one authoritative place. 1NF, 2NF and 3NF progressively remove repeating groups and problematic dependencies; denormalization is a deliberate read optimization.
How to reason about it
- For 1NF, 2NF and 3NF, the outcome to verify is: Run the statement against sample data and inspect the result before moving to the next case.
- In 1NF, 2NF and 3NF, keep this failure controlled: Premature denormalization duplicates facts and forces every writer to keep copies synchronized, while over-normalization can make simple reads unnecessarily complex.
- 1NF, 2NF and 3NF practice target: Take an order spreadsheet with repeated customer and product data, normalize it into related tables, then identify one read case where a derived summary could be denormalized safely.
Normalization progression
1
1NFStart
2
2NFStep
3
3NFStep
4
Clear DependenciesOutcome
Practical walkthrough
In the 1NF, 2NF and 3NF walkthrough: Run the statement against sample data and inspect the result before moving to the next case.
example.sqlsql
SELECT o.id, c.name
FROM orders o
JOIN customers c ON c.id = o.customer_id;Practice it yourself
1NF, 2NF and 3NF exercise
Take an order spreadsheet with repeated customer and product data, normalize it into related tables, then identify one read case where a derived summary could be denormalized safely.
- Record the expected result before execution
- Test one valid path and one lesson-specific failure path
- Explain in two lines which boundary owns the decision
