Can you have books online (BOL) on your bookshelf? Well not quite but if you put The Transact –SQL Desk Reference by Daec Lancaster on your shelf it may be pretty close. This book is a reference book for the DBA who wants to have a lot of information at his or her fingertips without having to access books online. The book’s preface discusses the desire to be able to bring books online to ones bookshelf while illuminating the ANSI SQL-92 features of Microsoft SQL Server 2000. The book did a great job of meeting these goals but if I was new to Transact-SQL and was looking for a first book I doubt that this would be it.
Some reasons I would buy this book:
- A handy reference to the SQL DDL (Data Definition Language) and the DML (Data Manipulation Language).
- A reference similar to books online without the need for a computer. This book made me wonder how many pages books online would be if I could print it out.
- Ready access to a variety of topics that can be read in small increments.
For the most part I purchase training kits. If I am going to read a book I want there to be groundwork for me to learn something. This book is definitely not a tutorial nor as mentioned above does it claim to be one. The book presents syntax and example after example of how the various Transact SQL commands, functions, stored procedures etc. can be used. If I were going to use this book to learn Transact – SQL I would have a problem or command in mind and use this book as a starting point to learn more about the feature.
One aspect of the book that I thought was nice is that even though it is about an inch or two thick it had almost 800 pages of material. It is nice to know that I can carry around almost the entire books online reference in my brief case and still have room for the my current project documentation. Has anyone ever printed out books online? (NOTE: Although I am thorough I did not feel that this type of comparison would be a worthwhile investment.)
The strength of the book is the enumeration of just about any facet of Transact – SQL commands someone would want to know. If there are some commands left out of the book I was hard pressed to find them. In one section of the book the author talks about Null values in columns and data types. While reading this section it seemed to me that it would be a good time to discuss how Null values are treated in comparisons. A couple of pages later there was a table and an explanation on this discussing the concept.
The chapter that I spent the most time in was Chapter 5 Transaction Control, Backup and Restore and Transact-SQL Programming. As any DBA can attest being able to script administrative tasks is the key to avoiding days working through Enterprise Manager trying to maintain one’s environment. Starting with transactions and continuing through error checking and cursors I found a number of really useful topics in the chapter which allows one to get a solid feel for the power of Transact-SQL. The discussion of rollbacks, partial rollbacks and locking are always useful when trying to get a handle of the logic that will be needed in an application or a procedure to maintain a database.
I found the author’s notes interesting. Actually, with any book I read it is always interesting to get the author’s perspective. The author’s perspective differs from a factual account of how things work. For example, I want to know why someone might chose to use a cursor or not use a cursor when coding a solution. The book could have benefited from more notes by the author. There were times where I wondered whether or not the reader would be just as happy reading BOL. The quandary of whether or not BOL was as acceptable as this book leads to the following areas where someone debating the purchase of this book may have second thoughts.
The benefits of the book then turn out to be the drawbacks. I am not sure that this is the best book for a beginner. It would be nice to have the book on the shelf while reading an introductory book to Transact –SQL; it is not the first book I would look at on the topic of Transact-SQL. Many times the beginner is looking for a book that captures the basic select statement and then covers the use of the statement in depth. This book discusses the select statement and each subsequent part of the statement. The author does do a good job of discussing when the Transact – SQL statements deviate from ANSI SQL-92 but the book seemed to lack depth when discussing the creation of complex select statements.
Also, although it is jam packed with information I did not feel it flowed well from topic to topic. This complaint may be similar to reading a dictionary and saying it seemed to jump from word to word. Being a reference book there is more freedom to deviate from a more conventional approach of building upon each topic. The author discusses the Data Definition Language (DDL) and the Data Manipulation Language (DML). I may have preferred the two topics not be broken up in the manner they were but this is more of a personal preference. More bothersome than the order of the topics was the layout of the examples, I thought it was confusing trying to read through the text and follow the examples. I was never sure whether the text describing an example was discussing the example below or above the text. This is where a person without much Transact – SQL experience could get lost.
I am glad I have this book on my bookshelf. As a database professional I don’t think you can have too many books on Transact-SQL. The first book I would get is probably still the Guru’s Guide to Transact SQL or some other beginner’s book. The next book I would want is some sort of reference to various commands and an explanation of some of the complexities of the language. This book accomplishes this task and as I mentioned earlier there is still some room in my brief case for my project documentation.
Transact –SQL Desk Reference For Microsoft SQL Server by Daec Lancaster
Advertised Price $40.00 USD
Online Price $25.95 at http://www.bookpool.com/.x/n4m8ymd30n/sm/0130293393