Transact - SQL Desktop Reference
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.
The Facts:
Transact –SQL Desk Reference For Microsoft SQL Server by Daec Lancaster
806 pages
Advertised Price $40.00 USD
Online Price $25.95 at
http://www.bookpool.com/.x/n4m8ymd30n/sm/0130293393