If you're standing in your favorite bookseller, flipping thorough this book because it's in the technical
book section, I know you're probably thinking, MHey, where is all of the code and settings and such?"
Well, this isn't exactly that kind of book. (Not that there is anything wrong with that kind of book; I
alone have a gaggle of them around my desk.) This book intends to balance the thin line between the
very implementation-oriented SQL Server books-which are concerned solely with DBCC settings,
index options, and all of the knobs and handles on SQL Server-and the truly academic tomes that go
deep into the theory of databases, but provide little or no practical information.
Database design can be thought of as an interesting blend of art and science. The science of database
design is well established, with a number of mature methods for designing database structures, the
most common of which is normalization. In fact these methods are almost ancient in computing terms,
and it isn't terribly difficult to follow these rules when designing your database structures. As you'll
see, it's also relatively straightforward to translate such a design into SQL Server tables.
This book presents straightforward techniques that will help you to design better databases in a way
that is clear enough for novices, but at the same time helpful to even the most seasoned professional.
One thing should be made clear before you start reading. Working with the design and architecture of
a database requires a very different approach than performing database setup and administration. For
example, in the role of data architect, I seldom create users, perform backups, or set up replication or
clustering. This is the role of the DBA.
Though it isn't uncommon to wear both of these hats (and others such a programmer, tester, and so
on), I think you'll find that your designs will generally be far better thought out if you can divorce
your mind from the more implementation-bound roles.
In this book you'll look in depth at how to design, architect, and implement the SQL Server database
tables and their accompanying access methods; you'U also examine the physical hardware, system
software, and other aspects of a database system. You'll start from the point where someone mentions
to you that they want to store some data, and begin generating tables and implementing access to