Normalization requires that you know your business and know the different ways you want to relate the data in your business. When you normalize your database, you eliminate columns that:
The result of each iteration of the normalization process is a table that is in a normal form. After one complete iteration, your table is said to be in first normal form; after two, second normal form; and so on. The sections that follow describe the rules for the first, second, and third normal forms.
A perfectly normalized database represents the most stable data-driven design, but it might not yield the best performance. Increasing the number of tables and keys, generally leads to higher overhead per query. If performance degrades due to normalization, you should consider denormalizing your data. See the
Denormalization for more information.