Normalize a data model

The telephone directory example in this chapter appears to be a good model. You can implement it at this point into a database, but this example might present problems later with application development and data-manipulation operations. Normalization is a formal approach that applies a set of rules to associate attributes with entities.

When you normalize your data model, you can achieve the following goals. You can:
  • Produce greater flexibility in your design.
  • Ensure that attributes are placed in the correct tables.
  • Reduce data redundancy.
  • Increase programmer effectiveness.
  • Lower application maintenance costs.
  • Maximize stability of the data structure.

Normalization consists of several steps to reduce the entities to more desirable physical properties. These steps are called normalization rules, also referred to as normal forms. Several normal forms exist; this chapter contains information about the first three normal forms. Each normal form constrains the data more than the last form. Because of this, you must achieve first normal form before you can achieve second normal form, and you must achieve second normal form before you can achieve third normal form.