Pro SQL Server 2005 Database Design and Optimization (英語) ペーパーバック – 2005/8/1
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
* An essential book for new and migration projects for SQL Server 2005: will ensure that that such projects have a well-designed database and secure, optimized data access strategies right from the start.
* Describes all new SQL Server 2005 features related to physical database design and provides completely new chapters on designing for fast data access, and exploiting .NET code in the database for optimum distribution of application logic.
* An excellent foundation for MCAD/MCSE/MCDBA Database Design and Implementation exam.
* Deep experience and advice, along with many tips or tricks, from an MVP lead author with over ten years of experience with SQL Server.
Kurt Windisch is a senior technical specialist with Levi, Ray & Shoup, Inc., a global provider of technology solutions with headquarters in Springfield, Illinois. He has more than 15 years of experience in IT, and is a database administrator and technical architect for the internal IT department at LRS. He spent five years serving on the board of directors for PASS, has written for several SQL Server magazines, and has presented at conferences internationally on the topic of database programming with SQL Server.
If you, however, have a fairly good grasp of database design and want to have a deeper understanding of complex database designs of at least 500 tables or more, then this book leaves a lot wanting. For experts this book is not.
The best, and the most advanced chapters, were "coding for concurrency" and "table structure and indexing", which explain, in good detail, how to make a database less prone to locking contention and how to increase its performance.
As with many books on database designs, I felt many of the concepts, such as 3 normal forms, were not explained particularly well. In fairness to to the authors, it is not easy to explain the 3 normal forms in concise and easy to understand logical language.
I would recommend this book for beginners. Not so much to the mid-level database designers and above.
The book starts with a solid introduction/refersher on basic database concepts, which brings the reader up to the required level to start thinking about issues such as normalization and data integrity -- extremely important issues if you value your data!
Past there, the book gets deep (very deep) into data modeling, including discussions of such important concepts as when to use surrogate keys, what kind of data constraints should be defined, and the increasingly important question of how best to secure your data.
The book closes with a few specialized, more advanced chapters, which I found to be especially interesting. These include a chapter on concurrency, "code-level architectural decisions" (really, best practices for writing great T-SQL), and finally a VERY useful chapter on database interoperability -- a must for those who have to make SQL Server talk to other DBMSs.
In short, I highly recommend this book to anyone who wants to learn to be a great SQL Server database designer.
Even worse are the errors that deal with actual DB design. On p. 49, the big heading near the bottom of the page is "Optional Identifying Relationship," which is impossible in DB theory (and practice). So I stared at that for a second and read the text below the heading and couldn't get it to add up. But then on the very next page there is "Note: You might be wondering why there is not an optional identifying relationship..." and he explains the reasons they can't exist. So the heading was a misprint! It was supposed to say "Optional NON-Identifying Relationship." Gah! That's a really bad misprint or really bad editing! And I've run into probably at least 10 errors like this (though not as bad) in the first 100 pages of the book. That's bad!
I really hope it's the case that I just got some really strange copy or pre-edited version (I got the book as a hand-me-down), because the content in general I like. I'm going to go buy the 2008 version and hope for the best, because I can't stand reading the whole book being skeptical and constantly looking out for errors.