A Developer's Guide to Data Modeling for SQL Server
Addison-Wesley Educational Publishers Inc (Verlag)
978-0-321-49764-2 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
“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
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 www.cstechcast.com. You can find Eric’s blog at www.consortioservices.com/blog. 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 www.cstechcast.com.
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
Erscheint lt. Verlag | 10.7.2008 |
---|---|
Verlagsort | New Jersey |
Sprache | englisch |
Maße | 243 x 178 mm |
Gewicht | 582 g |
Themenwelt | Informatik ► Datenbanken ► SQL Server |
ISBN-10 | 0-321-49764-3 / 0321497643 |
ISBN-13 | 978-0-321-49764-2 / 9780321497642 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich