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

by ;
Edition: 1st
Format: Paperback
Pub. Date: 2008-06-24
Publisher(s): Addison-Wesley Professional
List Price: $52.49

Rent Book

Select for Price
There was a problem. Please try again later.

New Book

We're Sorry
Sold Out

Used Book

We're Sorry
Sold Out

eBook

We're Sorry
Not Available

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Summary

This book teaches Database developers how to build better databases by applying logical data modelling techniques to Microsoft SQL Server.

Author Biography

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.

Table of Contents

Prefacep. xv
Acknowledgmentsp. xvii
About the Authorsp. xix
Data Modeling Theoryp. 1
Data Modeling Overviewp. 3
Databasesp. 4
Why a Sound Data Model Is Importantp. 6
Data Consistencyp. 6
The Process of Data Modelingp. 14
Summaryp. 21
Elements Used in Logical Data Modelsp. 23
Entitiesp. 23
Attributesp. 24
Referential Integrityp. 32
Relationshipsp. 35
Relationship Typesp. 35
Relationship Optionsp. 40
Cardinalityp. 41
Using Subtypes and Supertypesp. 42
Supertypes and Subtypes Definedp. 42
When to Use Subtype Clustersp. 44
Summaryp. 44
Physical Elements of Data Modelsp. 45
Physical Storagep. 45
Referential Integrityp. 59
Programmingp. 71
Implementing Supertypes and Subtypesp. 75
Summaryp. 79
Business Requirementsp. 95
Requirements Gatheringp. 97
Requirements Gathering Overviewp. 98
Gathering Requirements Step by Stepp. 98
Business Needsp. 111
Balancing Technical Limitations with Business Needsp. 112
Gathering Usage Datap. 112
Summaryp. 116
Interpreting Requirementsp. 117
Mountain View Musicp. 117
Compiling Requirements Datap. 119
Determining Model Requirementsp. 121
Determining the Business Rulesp. 138
Requirements Documentationp. 141
Looking Ahead: The Business Reviewp. 143
Summaryp. 145
Creating the Logical Modelp. 147
Creating the Logical Modelp. 149
Diagramming a Data Modelp. 149
Using Requirements to Build the Modelp. 157
Building the Modelp. 164
Summaryp. 170
Common Data Modeling Problemsp. 171
Entity Problemsp. 171
Attribute Problemsp. 176
Relationship Problemsp. 182
Summaryp. 185
Creating the Physical Modelp. 187
Creating the Physical Model with SQL Serverp. 189
Naming Guidelinesp. 189
Deriving the Physical Modelp. 198
Implementing Business Rules in the Physical Modelp. 211
Summaryp. 219
Indexing Considerationsp. 221
Indexing Overviewp. 221
Database Usage Requirementsp. 230
Determining the Appropriate Indexesp. 233
Implementing Indexes in SQL Serverp. 236
Summaryp. 239
Creating an Abstraction Layer in SQL Serverp. 241
What Is an Abstraction Layer?p. 241
Why Use an Abstraction Layer?p. 242
An Abstraction Layer's Relationship to the Logical Modelp. 245
An Abstraction Layer's Relationship to Object-Oriented Programmingp. 246
Implementing an Abstraction Layerp. 247
Summaryp. 254
Sample Logical Modelp. 255
Sample Physical Modelp. 261
SQL Server 2008 Reserved Wordsp. 267
Recommended Naming Standardsp. 269
Indexp. 271
Table of Contents provided by Publisher. All Rights Reserved.

Excerpts

As database professionals, we are frequently asked to come into existing environments and "fix" existing databases. This is usually because of performance problems that application developers and users have uncovered over the lifetime of a given application. Inevitably, the expectation is that we can work some magic database voodoo and the performance problems will go away. Unfortunately, as most of you already know, the problem often lies within the design of the database. We often spend hours in meetings trying to justify the cost of redesigning an entire database in order to support the actual requirements of the application as well as the performance needs of the business. We often find ourselves tempering good design with real-world problems such as budget, resources, and business needs that simply don't allow for the time needed to completely resolve all the issues in a poorly designed database.What happens when you find yourself in the position of having to redesign an existing database or, better yet, having to design a new database from the ground up? You know there are rules to follow, along with best practices that can help guide you to a scalable, functional design. If you follow these rules you won't leave database developers and DBAs cursing your name three years from now (well, no more than necessary). Additionally, with the advent of enterprise-level relational database management systems, it's equally important to understand the ins and outs of the database platform your design will be implemented on.There were two reasons we decided to write this book, a reference for everyone out there who needs to design or rework a data model that will eventually sit on Microsoft SQL Server. First, even though there are dozens of great books that cover relational database design from top to bottom, and dozens of books on how to performance-tune and write T-SQL for SQL Server, there wasn't anything to help a developer or designer cover the process from beginning to end with the right mix of theory and practical experience. Second, we'd seen literally hundreds of poorly designed databases left behind by people who had neither the background in database theory nor the experience with SQL Server to design an effective data model. Sometimes, those databases were well designed for the technology they were implemented on; then they were simply copied and pasted (for lack of a more accurate term) onto SQL Server, often with disastrous results. We thought that a book that discussed design for SQL Server would be helpful for those people redesigning an existing database to be migrated from another platform to SQL Server.We've all read that software design, and relational database design in particular, should be platform agnostic. We do not necessarily disagree with that outlook. However, it is important to understand which RDBMS will be hosting your design, because that can affect the capabilities you can plan for and the weaknesses you may need to account for in your design. Additionally, with the introduction of SQL Server 2005, Microsoft has implemented quite a bit of technology that extends the capabilities of SQL Server beyond simple database hosting. Although we don't cover everypiece of extended functionality (otherwise, you would need a crane to carry this book), we reference it where appropriate to give you the opportunity to learn how this functionality can help you.Within the pages of this book, we hope you'll find everything you need to help you through the entire design and development process--everything from talking to users, designing use cases, and developing your data model to implementing that model and ensuring it has solid performance characteristics. When possible, we've provided examples that we hope will be useful and applicable to you in one way or another. After spending hours developing the background and requirements for our fictitious company, we have been thinking about st

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.