Site sponsored by: Idera The gold standard of SQL Server performance monitoring & diagnostics.
SQL Server Performance

  • Home
  • Articles
  • Forums
  • Tips
  • Quiz
  • FAQ's
  • Blogs
  • Software
  • Books
  • About Us
RSS Feeds
Sign in | Join


Write for Us

Share your SQL Server knowledge with others and raise your profile in the community More...
Latest Articles

System Data Collection Reports
Recover Data Using Database Snapshots
Analyze and Fix Index Fragmentation in SQL Server 2008
Powerful Geographical Visualisations made easy with SQL 2008 Spatial (Part 2) ...

More     
 
Latest FAQ's

How to alter a User Defined Data Type?
How to unzip a File in SSIS?
How to view previous query plans?
ALTER TABLE SWITCH statement failed because the object '%.*ls' is not ...

More     
   
Latest Software Reviews

Spotlight on ApexSQL Doc 2008
ApexSQL Enforce
Embarcadero Change Manager
SQL Server DBA Dashboard

More     

books >> sql server 2005 books >> Pro SQL Server 2005 Database Design and ...

Pro SQL Server 2005 Database Design and Optimization


Aug 01, 2006

The Well-Designed Database: 'Pro SQL Server 2005 Database Design and Optimization'


Review by SQL-Server-Performance.Com



Pro SQL Server 2005 Database Design and Optimization
By Louis Davidson, Kevin Kline, and Kurt Windisch
672 pages. Apress. $59.99.

Find out more about this book, or purchase it, from Amazon.com.



I always wonder where all those "legacy systems" come from that people in online communities talk about. Typically, it seems as though these systems just suddenly appear (or were they always there?), nobody notices, and then some fine day someone new to the company stumbles across one of them and realizes that it is far from optimal. All at once, performance becomes a drag and everything starts to break down. But the people originally responsible for the system no longer work for the company and there is neither time nor money to develop an appropriate redesign. Of course, other vital systems within the company rely on that legacy system to work exactly as it was designed. So a redesign of the legacy system would mean a redesign of almost every other system, which is simply impossible.

If you ask me, I do not believe that legacy systems appear overnight. In fact, I do not think they exist at all. And I do not believe that the people who were originally responsible for it are not working for the company anymore (at least in some cases). What I believe is that far too often inexperienced and untrained people happen to be responsible for designing a database. And a legacy system is nothing more than a poorly designed database.

While it is easy to create a few tables in which to store data using some front-end design tool, it takes far more than that to design a rock-solid database. A database is more than a collection of tables, indexes, and constraints. The potential database developer needs to know more than how to use a GUI to create a table. Initially, you can hide performance problems related to a poorly designed database with bigger and faster hardware. But eventually, even with the best hardware, you will have to face the fact that optimal performance starts with an efficiently designed database.

Relational databases are firmly based on relational theory. To design a good database you need to know that theory to a certain extent. As relational theory is firmly grounded on mathematics, there are very good, albeit academic, textbooks available on that subject. However, for most people these books will be hard to understand. In some cases, they will be counterproductive. Books from practitioners are also available, but they tend to focus either on design or on implementation, but not both. This is where "Pro SQL Server 2005 Database Design and Optimization" comes into play. It covers both design and implementation in detail:

  • Introduction to Database Concepts
  • Data Modeling
  • Conceptual Data Modeling
  • The Normalization Process
  • Implementing the Base Table Structure
  • Protecting the Integrity of Your Data
  • Securing Access to the Data
  • Table Structures and Indexing
  • Coding for Concurrency
  • Code-Level Architectural Decisions
  • Database Interoperability
  • Appendixes

The authors do a very good job of bringing the essential theoretical concepts together with how to implement them in SQL Server. For example, they not only explain how to implement a PRIMARY KEY constraint, but also explain WHY it should be implemented. Overall, it is written in a smooth, eloquent, and easy-to-understand style. Each chapter ends with best practices that you can use as rules-of-thumb when developing your own design methodology.

The authors demonstrate that combining rather dry theory stuff with hands-on guidance can make for a really interesting and worthwhile book. As an extra, the complete source code is downloadable from the Apress Web site. Once again Apress demonstrates that it pays to have practitioners write (and review!) their books. It is another installment in the "Pro SQL Server 2005" series and is clearly above average.

Good database design is the first and most important step toward good performance. I hope many people will read this book. It can help us all avoid tomorrow's legacy systems.


        








Home | Peformance Articles | Audit Articles | Business Intelligence Articles | Clustering Articles | Developer Articles | Reporting Services Articles | DBA Articles | ASP.NET / ADO.NET Articles | DBA FAQ's | Developer Peformance FAQ's | DBA Peformance FAQ's | Developer FAQ's | Clustering FAQ's | Error Messages | Audit Tool Reviews | Backup Tool Reviews | Coding Tool Reviews | Compare Tool Reviews | Documentation Tool Reviews | Design Tool Reviews | Monitoring Tool Reviews | Log Tool Reviews | Reporting Tool Reviews | Clustering Tool Reviews | Security Tool Reviews | Change Management Tool Reviews | Remote Access Tool Reviews | Book Reviews | Security Tool Reviews | QDPMA Performance Tuning | ADO.NET / ASP.NET | Administration | Analysis/OLAP Services | Application Development | Configuration | Components | ETL | Hardware | High Availability | Hints | Index | Misc | Operating Systems | Performance Tuning | Replication | T-SQL | Views


              © 1999-2008 by T10 Media. All rights reserved