I really enjoyed Ken Henderson’s The Guru’s Guide to Transact-SQL, so it was with some enthusiasm that I picked up a copy of Henderson’s newest offering, The Guru’s Guide to SQL Server Stored Procedures, XML, and HTML. I was hoping for the same practical advice and techniques I received from the first book, and I was not disappointed. Here are the high and low points of this terrific new resource.
|
Plenty to read
This book weighs in at almost 800 pages, which translates into there being a wealth of information. Henderson’s first guru book serves as an excellent reference and his new book continues that tradition. Since this is not a book for beginners, the introduction to stored procedures in the first chapter moves at a rapid pace and has some tips that even veteran users will find useful. Many readers might think about skipping over Chapter 2’s discussion of code conventions, but that might be a mistake because there are many worthwhile tips included in the material. For example, there is a tip discussing why you should owner-qualify the names of your stored procedures. Also, I highly recommend Chapter 4’s coverage of version control from Query Analyzer.
The majority of the book is dedicated to the title elements (stored procedures, XML, and HTML) with most of the material covering general SQL and stored procedures. HTML coverage is thankfully short. I would have liked the XML coverage to be a little more extensive, but what is covered is good and doesn’t just recycle the information in the SQL online books.
Good advice
Just as with the first guru book by Henderson, there is a plethora of practical advice. This book provides information on database design, generating test data, and array handling (improved over the array handling information presented in his first SQL guru book). Also, you’ll find some excellent examples of developing your own extended stored procedures and using COM objects from SQL Server. Be sure and check out the last three chapters, which are dedicated to essays written by the author. I found these essays to be interesting reads and full of practical advice and opinions. His opinions on Extreme Programming will be of great interest to most readers.
.NET is .NOT in this book
The cover of the book boasts a blue sticker with the text “Covers .NET!” It looks like a second thought on the cover, and the skimpy coverage in the book verifies that it was indeed a last minute addition and marketing ploy. A single, extremely short chapter quickly discusses .NET and doesn’t provide any in-depth information.
The only other negative was Chapter 3, which covers design patterns for SQL. This chapter attempts to “jumpstart a discussion of Transact-SQL design patterns and idioms.” This information felt out-of-place and forced. The design patterns never clicked for me like the classic “Gang of Four” patterns. Despite my dislike of the design pattern coverage, I still credit the author for trying to tackle the subject. Something like a design pattern doesn’t come into existence until someone forces the discussion about the validity of the pattern, and Henderson has, at least, taken that step.
Learn more about SQL Server
Check out these Builder.com articles to learn more about the many features of SQL Server:
- “E-mail notifications made easy with SQL Server Notification Services”
- “Transferring data with SQL Server 2000”
- “How to create views in SQL Server 7.0/2000”
Get this book
I highly recommend this book to anyone working with SQL Server. There is an excellent balance between code samples, practical advice, and educated opinion. Both developers and database administrators will benefit from the advice and useful tips sprinkled throughout the book. Also, I recommend reading the forward since it was written by Ron Soukup and contains a few good quotes, such as, “The professional writes efficient, industrial-strength, well-documented code that can be maintained, understood, and enhanced for years to come by not just himself, but by others too.” It’s a good message for all developers to remember every time they write a line of code.