Chapter 8

Being Normal: Normalization and Other Basic Design Issues


  • 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 ...

Get Beginning Microsoft® SQL Server® 2012 Programming now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.