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

Get Beginning Microsoft® SQL Server® 2012 Programming 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.