|
![]() |
|||
|
||||
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 Full Product DetailsAuthor: Eric Johnson , Joshua JonesPublisher: Pearson Education (US) Imprint: Addison-Wesley Educational Publishers Inc Dimensions: Width: 24.30cm , Height: 1.90cm , Length: 17.80cm Weight: 0.582kg ISBN: 9780321497642ISBN 10: 0321497643 Pages: 304 Publication Date: 10 July 2008 Audience: College/higher education , Tertiary & Higher Education Format: Paperback Publisher's Status: Out of Print Availability: In Print ![]() Limited stock is available. It will be ordered for you and shipped pending supplier's limited stock. Table of ContentsPreface 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 271ReviewsEric 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. Author InformationEric 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. Tab Content 6Author Website:Countries AvailableAll regions |