A Developer's Guide to Data Modeling for SQL Server: Covering SQL Server 2005 and 2008 (Addison-Wesley Microsoft Technology Series)
  • A Developer's Guide to Data Modeling for SQL Server: Covering SQL Server 2005 and 2008 (Addison-Wesley Microsoft Technology Series)
  • A Developer's Guide to Data Modeling for SQL Server: Covering SQL Server 2005 and 2008 (Addison-Wesley Microsoft Technology Series)
  • A Developer's Guide to Data Modeling for SQL Server: Covering SQL Server 2005 and 2008 (Addison-Wesley Microsoft Technology Series)
<Previous >Next

A Developer's Guide to Data Modeling for SQL Server: Covering SQL Server 2005 and 2008 (Addison-Wesley Microsoft Technology Series)

by Eric Johnson, Joshua Jones
     
 

View All Available Formats & Editions

“A Developer’s Guide to Data Modeling for SQL Server explains the concepts and practice of data modeling with a clarity that makes the technology accessible to anyone building databases and data-driven applications.

“Eric Johnson and Joshua Jones combine a deep understanding of the science of data modeling with the art that comes with years of

See more details below

Overview

“A Developer’s Guide to Data Modeling for SQL Server explains the concepts and practice of data modeling with a clarity that makes the technology accessible to anyone building databases and data-driven applications.

“Eric Johnson and Joshua Jones combine a deep understanding of the science of data modeling with the art that comes with years of experience. If you’re new to data modeling, or find the need to brush up on its concepts, this book is for you.”
—Peter Varhol, Executive Editor, Redmond Magazine

Model SQL Server Databases That Work Better, Do More, and Evolve More Smoothly

Effective data modeling is essential to ensuring that your databases will perform well, scale well, and evolve to meet changing requirements. However, if you’re modeling databases to run on Microsoft SQL Server 2008 or 2005, theoretical or platform-agnostic data modeling knowledge isn’t enough: models that don’t reflect SQL Server’s unique real-world strengths and weaknesses often lead to disastrous performance.

A Developer’s Guide to Data Modeling for SQL Server is a practical, SQL Server-specific guide to data modeling for every developer, architect, and administrator. This book offers you invaluable start-to-finish guidance for designing new databases, redesigning existing SQL Server data models, and migrating databases from other platforms.

You’ll begin with a concise, practical overview of the core data modeling techniques. Next, you’ll walk through requirements gathering and discover how to convert requirements into effective SQL Server logical models. Finally, you’ll systematically transform those logical models into physical models that make the most of SQL Server’s extended functionality. All of this book’s many examples are available for download from a companion Web site.

This book enables you to

  • Understand your data model’s physical elements, from storage to referential integrity
  • Provide programmability via stored procedures, user-defined functions, triggers, and .NET CLR integration
  • Normalize data models, one step at a time
  • Gather and interpret requirements more effectively
  • Learn an effective methodology for creating logical models
  • Overcome modeling problems related to entities, attribute, data types, storage overhead, performance, and relationships
  • Create physical models—from establishing naming guidelines through implementing business rules and constraints
  • Use SQL Server’s unique indexing capabilities, and overcome their limitations
  • Create abstraction layers that enhance security, extensibility, and flexibility

Read More

Editorial Reviews

From the Publisher
“Eric and Joshua do an excellent job explaining the importance of data modeling and how to do it correctly. Rather than relying only on academic concepts, they use real-world examples to illustrate the important concepts that many database and application developers tend to ignore. The writing style is conversational and accessible to both database design novices and seasoned pros alike. Readers who are responsible for designing, implementing, and managing databases will benefit greatly from Joshua’s and Eric’s expertise.”
Anil Desai, Consultant, Anil Desai, Inc.

“Almost every IT project involves data storage of some kind, and for most that means a relational database management system (RDBMS). This book is written for a database-centric audience (database modelers, architects, designers, developers, etc.). The authors do a great job of showing us how to take a project from its initial stages of requirements gathering all the way through to implementation. Along the way we learn how to handle some of the real-world design issues that typically surface as we go through the process.

“The bottom line here is simple. This is the book you want to have just finished reading when your boss says ‘We have a new project I would like your help with.’”
Ronald Landers, Technical Consultant, IT Professionals, Inc.

“The Data Model is the foundation of the application. I’m pleased to see additional books being written to address this critical phase. This book presents a balanced and pragmatic view with the right priorities to get your SQL server project off to a great start and a long life.”
Paul Nielsen, SQL Server MVP, SQLServerBible.com

“This is a truly excellent introduction to the database design methodology that will work for both novices and advanced designers. The authors do a good job at explaining the basics of relational database modeling and how they fit into modern business architecture. This book teaches us how to identify the business problems that have to be satisfied by a database and then proceeds to explain how to build a solid solution from scratch.”
Alexzander N. Nepomnjashiy, Microsoft SQL Server DBA, NeoSystems North-West, Inc.

Read More

Product Details

ISBN-13:
9780321497642
Publisher:
Addison-Wesley
Publication date:
08/08/2008
Series:
Addison-Wesley Microsoft Technology Series
Pages:
277
Product dimensions:
6.90(w) x 9.10(h) x 0.90(d)

Read an Excerpt

As database professionals, we are frequently asked to come into existing environments and "fix" existing databases. This is usually because of performance problems that application developers and users have uncovered over the lifetime of a given application. Inevitably, the expectation is that we can work some magic database voodoo and the performance problems will go away. Unfortunately, as most of you already know, the problem often lies within the design of the database. We often spend hours in meetings trying to justify the cost of redesigning an entire database in order to support the actual requirements of the application as well as the performance needs of the business. We often find ourselves tempering good design with real-world problems such as budget, resources, and business needs that simply don't allow for the time needed to completely resolve all the issues in a poorly designed database.

What happens when you find yourself in the position of having to redesign an existing database or, better yet, having to design a new database from the ground up? You know there are rules to follow, along with best practices that can help guide you to a scalable, functional design. If you follow these rules you won't leave database developers and DBAs cursing your name three years from now (well, no more than necessary). Additionally, with the advent of enterprise-level relational database management systems, it's equally important to understand the ins and outs of the database platform your design will be implemented on.

There were two reasons we decided to write this book, a reference for everyone out there who needs to design or rework a data model that will eventually sit on Microsoft SQL Server. First, even though there are dozens of great books that cover relational database design from top to bottom, and dozens of books on how to performance-tune and write T-SQL for SQL Server, there wasn't anything to help a developer or designer cover the process from beginning to end with the right mix of theory and practical experience. Second, we'd seen literally hundreds of poorly designed databases left behind by people who had neither the background in database theory nor the experience with SQL Server to design an effective data model. Sometimes, those databases were well designed for the technology they were implemented on; then they were simply copied and pasted (for lack of a more accurate term) onto SQL Server, often with disastrous results. We thought that a book that discussed design for SQL Server would be helpful for those people redesigning an existing database to be migrated from another platform to SQL Server.

We've all read that software design, and relational database design in particular, should be platform agnostic. We do not necessarily disagree with that outlook. However, it is important to understand which RDBMS will be hosting your design, because that can affect the capabilities you can plan for and the weaknesses you may need to account for in your design. Additionally, with the introduction of SQL Server 2005, Microsoft has implemented quite a bit of technology that extends the capabilities of SQL Server beyond simple database hosting. Although we don't cover everypiece of extended functionality (otherwise, you would need a crane to carry this book), we reference it where appropriate to give you the opportunity to learn how this functionality can help you.

Within the pages of this book, we hope you'll find everything you need to help you through the entire design and development process—everything from talking to users, designing use cases, and developing your data model to implementing that model and ensuring it has solid performance characteristics. When possible, we've provided examples that we hope will be useful and applicable to you in one way or another. After spending hours developing the background and requirements for our fictitious company, we have been thinking about starting our own music business. And let's face it—reading line after line of text about the various uses for a varchar data type can't always be thrilling, so we've tried to add some anecdotes, a few jokes, and even a paraphrased movie quote or two to keep it lively.

Writing this book has also been an adventure for both of us, in learning how the publishing process works, learning the finer details of writing for a mass audience, and learning that even though we are our own worst critics, it's hard to hear criticism from your friends, even if they're right; but you're always glad that they are.

Read More

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >