Chapter 8. Being Normal: Normalization and Other Basic Design Issues

I can imagine you as being somewhat perplexed about the how and why of some of the tables we'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"? We'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 out 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), we'll also be examining the characteristics of OLTP and OLAP databases. And, as if we didn't have enough between those two topics, we'll also be looking at many examples of how the constraints we've already seen are implemented in the overall solution.

This is probably going to be one of the toughest chapters in the book to grasp because of a paradox in what to learn first. Some of ...

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