"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 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."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 .N ET 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
Show more"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 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."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 .N ET 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
Show morePreface
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
“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 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.
“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
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.
“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 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.
![]() |
Ask a Question About this Product More... |
![]() |