Third Normal Form

Last modified: October 18, 2019

Contribute to Data School

We are actively working on this chapter. We are looking for two types of contributions:

  1. Help writing this chapter
  2. Share your story about working through this problem at work

Please reach out to @Matt David on our slack to discuss what you want to contribute.

Data School wants a comprehensive post to help people understand why third normal form is used. Most articles approach this from a principles approach, we want to focus on a practical approach, namely that updating data that is not in 3NF is error prone.

The outline for this chapter:

1) The problems with updating data

Show consistent example and how when you try updating the values how it is problematic until it is in 3rd normal form.

  • Update cell with multiple values
  • Update value in multiple places

2) Show how to get the data back out

Use the same example how you would query the 3NF schema into the first table we started with. Give advice about JOIN types.

Spend extra time calling attention to many to many relationships

3) Summary

3NF lets us update data with less errors.

We can rebuild big tables using JOINs

Written by:
Reviewed by: