A Developer's Guide to Data Modeling for SQL Server: Covering SQL Server 2005 and 2008 Be the First to Write a Review and tell the world about this title!People who purchase this book frequently purchase: - SQL Server 2008 Transact-SQL Recipes; Joseph Sack, $36.50, 39% Off!
- Pro SQL Server 2008 Reporting Services; Rodney Landrum, et al, $24.50, 39% Off!
- Advanced ASP.NET AJAX Server Controls: For .NET Framework 3.5; Adam Calderon, et al, $31.50, 37% Off!
- .NET 3.5 Wrox Box; Bill Evjen, et al, $98.50, 38% Off!
Books on similar topics, in best-seller order:Books from the same publisher, in best-seller order:
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 youre
modeling databases to run on Microsoft SQL Server 2008 or 2005, theoretical
or platform-agnostic data modeling knowledge isnt enough: models that
dont reflect SQL Servers unique real-world strengths and weaknesses
often lead to disastrous performance.
A Developers 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.
Youll begin with a concise, practical overview of the core data modeling
techniques. Next, youll walk through requirements gathering and discover
how to convert requirements into effective SQL Server logical models. Finally,
youll systematically transform those logical models into physical models
that make the most of SQL Servers extended functionality. All of this
books many examples are available for download from a companion Web site.
This book enables you to
Understand your data models 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 modelsfrom establishing naming guidelines through implementing
business rules and constraints
Use SQL Servers unique indexing capabilities, and overcome their limitations
Create abstraction layers that enhance security, extensibility, and flexibility
Reviews
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 Joshuas and Erics 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. Im 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.
A Developers 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 youre
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
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 Layers Relationship to the Logical Model 245
An Abstraction Layers 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
|