Chapter 8
Being Normal: Normalization and Other Basic Design Issues
WHAT YOU WILL LEARN IN THIS CHAPTER:
- How to organize your tables into third normal form, and what the other normal forms entail
- Which types of relationships can be defined between tables, and the mechanisms available to enforce them
- How to diagram your database using the tools provided with SQL Server
- Design issues beyond normalization, including denormalization
I can imagine you as being somewhat perplexed about the how and why of some of the tables you’ve constructed thus far. With the exception of a chapter or two, this book has tended to have an Online Transaction Processing, or OLTP, flair to the examples. Don’t get me wrong; I will point out, from time to time, some of the differences between OLTP and its more analysis-oriented cousin Online Analytical Processing (OLAP). My point is that you will, in most of the examples, be seeing a table design that is optimized for the most common kind of database — OLTP. As such, the table examples will typically have a database layout that is, for the most part, normalized to what is called the third normal form.
So what is “normal form”? You’ll be taking a very solid look at that in this chapter, but, for the moment, let’s just say that it means your data has been broken into a logical, non-repetitive format that can easily be reassembled into the whole. In addition to normalization (which is the process of putting your database into normal form), you’ll also be ...