Developer's Guide to Data Modeling for SQL Server, A: Covering SQL Server 2005 and 2008

Developer's Guide to Data Modeling for SQL Server, A: Covering SQL Server 2005 and 2008

by Eric Johnson, Joshua Jones

NOOK Book(eBook)

$29.99 $39.99 Save 25% Current price is $29.99, Original price is $39.99. You Save 25%.

Available on Compatible NOOK Devices and the free NOOK Apps.
WANT A NOOK?  Explore Now


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

Product Details

ISBN-13: 9780132701532
Publisher: Pearson Education
Publication date: 06/24/2008
Series: Addison-Wesley Microsoft Technology Series
Sold by: Barnes & Noble
Format: NOOK Book
Pages: 304
File size: 4 MB

About the Author

Eric Johnson (Microsoft SQL MVP)is the co-founder of Consortio Services and the primary database technologies consultant. His background in information technology is diverse, ranging from operating systems and hardware to specialized applications and development. He has even done his fair share of work on networks. Because IT is a way to support business processes, Eric has also acquired an MBA. All in all, he has ten years of experience with IT, much of it working with Microsoft SQL Server. Eric has managed and designed databases of all shapes and sizes. He has delivered numerous SQL Server training classes and Webcasts as well as presentations at national technology conferences. Most recently, he presented at TechMentor on SQL Server 2005 replication, reporting services, and integration services. In addition, he is active in the local SQL Server community, serving as the president of the Colorado Springs SQL Server Users Group. He is also the co-host of CS Techcast, a weekly podcast for IT professionals at You can find Eric’s blog at

Joshua Jones
(MCTS, SQL Server 2005; MCITP, Database Administrator) is operating systems and database systems consultant with Consortio Services in Colorado Springs. There he provides training, administration, analysis, and design support for customers using SQL Server 2000 and 2005. In his seven years as an IT professional, he has worked in many areas of information technology, including Windows desktop support, Windows 2000 and 2003 server infrastructure design and support (AD, DNS, MS Exchange), telephony switch support, and network support. Josh has spoken at various PASS sponsored events about SQL Server topics such as 64-bit SQL Server implementation, reporting services administration, and performance tuning. He is also a co-host of CS Techcast, a weekly podcast for IT professionals at

Table of Contents

Preface                                            xv
Acknowledgments                      xvii
About the Authors                       xix

PART I: Data Modeling Theory                                        1

Chapter 1: Data Modeling Overview                                3

Databases                4
Why a Sound Data Model Is Important               6
Data Consistency                6
The Process of Data Modeling             14
Summary                    21

Chapter 2:  Elements Used in Logical Data Models                          23
Entities              23
Attributes           24
Referential Integrity             32
Relationships               35
Relationship Types             35
Relationship Options           40
Cardinality             41
Using Subtypes and Supertypes               42
Supertypes and Subtypes Defined                 42
When to Use Subtype Clusters             44
Summary             44

Chapter 3: Physical Elements of Data Models                    45
Physical Storage               45
Referential Integrity            59
Programming            71
Implementing Supertypes and Subtypes           75
Summary            79

PART II: Business Requirements                                           95

Chapter 5: Requirements Gathering                                    97

Requirements Gathering Overview              98
Gathering Requirements Step by Step            98
Business Needs            111
Balancing Technical Limitations with Business Needs            112
Gathering Usage Data           112
Summary             116

Chapter 6: Interpreting Requirements            117
Mountain View Music                    117
Compiling Requirements Data           119
Determining Model Requirements               121
Determining the Business Rules             138
Requirements Documentation           141
Looking Ahead: The Business Review          143
Summary                  145

PART III: Creating the Logical Model                            147

Chapter 7: Creating the Logical Model                          149
Diagramming a Data Model           149
Using Requirements to Build the Model          157
Building the Model          164
Summary       170

Chapter 8: Common Data Modeling Problems                  171
Entity Problems       171
Attribute Problems     176
Relationship Problems      182
Summary         185

PART IV: Creating the Physical Model               187

Chapter 9: Creating the Physical Model with SQL Server              189

Naming Guidelines      189
Deriving the Physical Model      198
Implementing Business Rules in the Physical Model      211
Summary     219

Chapter 10: Indexing Considerations      221
Indexing Overview      221
Database Usage Requirements      230
Determining the Appropriate Indexes       233
Implementing Indexes in SQL Server            236
Summary            239

Chapter 11: Creating an Abstraction Layer in SQL Server                 241
What Is an Abstraction Layer?               241
Why Use an Abstraction Layer?           242
An Abstraction Layer’s Relationship to the Logical Model          245
An Abstraction Layer’s Relationship to Object-Oriented Programming       246
Implementing an Abstraction Layer     247
Summary      254

Appendix A: Sample Logical Model                              255

Appendix B: Sample Physical Model                            261

Appendix C: SQL Server 2008 Reserved Words             267

Appendix D: Recommended Naming Standards            269

Index              271

Customer Reviews