“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