Normal Forms for Normal People

Alisa Aylward
Sep 7 · 11 min read

What are normal forms?

Are normal forms still relevant?

What can I add to the conversation about normal forms?

How can I memorize the forms?

The key, the whole key, and nothing but the key


First Normal Form

What is 1NF?

What does violating 1NF look like?

not_first_normal_form_cat_table
The day we adopted Mac and Cheese

What happens if I violate 1NF?

SELECT cat_name FROM not_first_normal_form_cat_table
WHERE parents = 'Alisa'
SELECT cat_name FROM not_first_normal_form_cat_table
WHERE parents ilike 'Alisa'
UPDATE not_first_normal_form_cat_table
SET parents = ‘Alisa In-Tech’’
WHERE parents = ‘Alisa’
DELETE FROM not_first_normal_form_cat_table
WHERE parents ilike ‘%Alisa%’;

INSERT INTO not_first_normal_form_cat_table
SELECT * FROM source_data
WHERE parents ilike ‘%Alisa In-Tech%’;

Are there any benefits of violating 1NF?

Second Normal Form

What is 2NF?

What does violating 2NF look like?

bad_2nf_cat_weight

What happens if I violate 2NF?

cat_weight_fact
cat_dim

Are there any benefits of violating 2NF?

Third Normal Form

What is 3NF?

What does violating 3NF look like?

Bad_3nf_cat_favorite_food
cat_favorite_food
cat_food_dim
Actually, Mac’s favorite food is pizza

What happens if I violate 3NF?

Are there any benefits of violating 3NF?

So what did I learn?

Always checking to see if there is better food for them

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade