Chapter 7. Normalizing Data

Chapter 6 explained how you can make a database more flexible and robust by extracting certain business rules from the database's structure. By removing some of the more complex and changeable rules from the database's check constraints, you make it easier to change those rules later.

Another way to make a database more flexible and robust is to "normalize" it. Normalization makes the database more able to accommodate changes in the structure of the data. It also protects the database against certain kinds of errors.

This chapter explains what normalization is and tells how you can use it to improve your database design.

In this chapter you learn:

  • What normalization is.

  • What problems different types or levels of normalization address.

  • How to normalize a database.

  • How to know what level of normalization is best for your database.

    After you normalize your relational model, you'll be ready to build the database.

What Is Normalization?

Depending on how you design a relational database, it may be susceptible so all sorts of problems. For example:

  • It may contain lots of duplicated data. This not only wastes space but it also makes updating all of those duplicated values a time-consuming chore.

  • It may incorrectly associate two unrelated pieces of data so you cannot delete one without deleting the other.

  • It may require a piece of data that shouldn't exist in order to represent another piece of data that should exist.

  • It may limit the number of values that you can enter for ...

Get Beginning Database Design Solutions now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.