ModelingIntermediate

Explain normalization to 3NF with an example

“What problem does normalization solve, and what is 3NF?”

What this tests

  • Anomalies
  • Functional dependencies
  • Practical target

Answers by level

Read the beginner answer first and notice what is missing.

It removes update, insert and delete anomalies, which all come from one table holding facts about two things. 1NF: atomic values, no repeating groups. 2NF: every non-key column depends on the whole key. 3NF: no non-key column depends on another non-key column — every column depends on the key, the whole key, and nothing but the key.

Concretely: a customer email stored on every order is a 3NF violation (email depends on the customer, not the order); move the customer to its own table.

Green flags · Red flags

Strong green flag · Explains normalization via "depends on the key, the whole key, and nothing but the key".
Green flags
  • Names the three anomalies
  • Uses functional dependencies
  • Knows 3NF is the practical stop
Red flags
  • "Removes duplication" with no mention of anomalies
  • Cannot give an example

Follow-up questions

F1
When would you deliberately violate 3NF?

Scenario

You inherit an orders table with columns product_1, price_1, product_2, price_2. Walk me to 3NF.

Learn this topic