View Review Details


Book:   Transact-SQL Programming
Subject:   Transact-SQL Programming Review
Date:   1999-07-28 00:00:00
From:   Perry S.


Finished reading this book in a month, about a fortnight or so ago, and have been accruing this review bit by bit since then. Hope it formats well into this html Textarea control...


My RDMS setup: running MS SQL Server 6.5 on a PC running NT4.0 Member Server as the sa.


The book accomplishes what the authors said it would in the preface. When books basically live up to their preface, and the preface is truthful, and, at least fairly accurate, then it is difficult for me to fault a book's author(s). Afterall, as a reader I cannot say I did not know what the book was about after reading the preface carefully. If I did not read the preface I am getting pretty much what I deserve, I suppose. If I find fault with a book that has an accurate preface then the odds are good I am saying the book is not something it never claimed to be. It would be like saying, "Don't buy _Transact-SQL_Programming_ because it is a terrible automatic transmission repair manual!"....


On the whole, chapters are a consistent length. This made scheduling reading time for what some might consider a dryasdust subject that much easier. Another notable thing about the overall chapter construction is the lack of 'run-on' chapters. For me this is often a good initial indicator the author(s) understand how to divide and conquer the subject at hand to the learner's benefit. No disappointment on this score.


The authors deserve praise for sticking with the stock pubs and system databases in their sample code and concept explanations. On the rare occasions when they do not the reader is warned and reasons given. If you groan at the thought of spending 800 pages with everyone's favorite sample database ( it could be worse, ever hear the NorthWind? ) then please stop to consider all the benefits that accompany a tried and tested sample database. Besides the obvious harddrive space saved, there is the advantage of being able to quickly spot misspelled column names and other errata in the sample code your reading or typing in as you follow along with the book, it is easier for the reader to transition to the online help files to further research something intriguing in the book ( go ahead and admit it, if you liked reading Microsoft online help files you would probably not be thinking about buying this book ), you rarely have to worry about the unknown flaws in the sample data ( millions of other users have already relieved you of that concern ), nor do you have to burn blood-sugar struggling to understand someone else's obscure data set when yours is already hard enough ( nor do you have to waste time trying to introduce a strange data set to anyone else when you ask them to try and explain the author's code, as everyone is already familiar with pubs, and if they are not, you are possibly asking the wrong person ). Be certain, there are more reasons to be glad the author(s) stayed with pubs.


Whether it is a result of sticking with the standard sample data set, a question of style, or a combination of both, this book does an excellent job, from start to finish, of not obscuring (rather unlike this rambling review...) the pedagogical concepts with needlessly complex SQL code examples. Whenever I see examples of this unusual occurrence consistently applied in a computer book I become immediately suspicious that the writer(s) are both wiser and more knowledgeable about that upon which they write than they are letting on. You have been warned.


What about errata? Inquiring minds want to know...? I did not test every single line of sample code in the book or on the CD by any means, yet, and I say this from the dim recesses of my memory, I did not encounter any error of the sort one might call a serious *logic* error. I do not consider a misspelled column name or variable, an occasional missing space betwixt a property and it's value, a forgotten quote mark, dyslexic data entry moments, or neglecting to declare a variable to be serious logic errors. Do you? *Logic* errors shake my confidence in the coder-writer's thinking processes ( thank-god I never bother to read my own code! ). My confidence was pretty steady last time I checked ( Is it folly to be wise where ignorance is bliss? I wonder... ). Personally, I like an obscure typo now and again. Besides helping to keep my reading-brain from slipping into neutral as it is wonted to do, where else can I get that cheap and quick dose of righteousness with so little effort or personal risk that comes with firing off an errata report to booktech@oreilly.com ? ( Handy tip for the quick fix self-righteousness junkies: Read the books as soon as they become available so you don't have to feel obligated to read the posted errata sheets first, and so possibly suffer the bitter taste of righteousness-lost. Of course, *real programmers* prefer to wait until the tenth edition cause then finding an errata is the deed of a manly man. ) In fine, the team responsible for this first edition deserves congratulations for their meticulous attention to detail and craftsmanship.


One thing I remember caused me to pause and scrutinize a bit more thoroughly than usual before buying this book. It was the 'admission' on the cover that more than one vendor's product was covered within. Now anybody with a computer book habit must shudder when they see this. Even if they know the history of T-SQL. You know the saying, "twice burned is best learned". How many publishers seem to think that the transition in the coverage of one vendor to another vendor is the perfect opportunity to waste the better part of three pages on HEADINGS and copious whitespace always amazes me. It was a constant source of pleasure to see how efficiently the O'Reilly team handled this and other potential page padding scenarios. It is so well done that you'll hardly even notice the dual coverage. Best of all, the topic sentence of the paragraph will inform you immediately if it's contents are vendor specific so you'll quickly become skilled at moving onto the next applicable paragraph. Not that this happens all that often (although it is hard to imagine MS and Sybase releasing many more versions where a book that covers both is still feasible, yet, that is years away so why worry?). For those of you new to O'Reilly ( for those of you not, I apologize for stating the obvious about O'Reilly publications ) who are used to the typical books produced for Microsoft products don't be alarmed at the complete lack of useless, vapid, insipid, stupid excuses to waste space with three-quarters-of-a-page-GUI-screenshots in all 807 pages of this first edition. Instead rejoice, for you have exchanged your money for potential content and not something you have access to by default via the application in question. So do not think you are paying for 800 pages and only will use 400 pages because your interested in only one vendor. You will get your 749 pages worth! The book rigorously follows a consistent structure for the presentation of vendor specific information which facilitates the vendor specific reader's task without *any* unnecessary page padding!


Is there anything not to like about _TSQL_Programming_ ? Sure, the index is wimpy. Of course, I have never met any printed index I thought was complete enough, short of a 19th century concordance or two. You have been warned. Now you know to keep a sharp pencil handy when you read. The fault is not so much the lack of subject/keyword references, but the paucity of pages listed for the included subjects/keywords. When I update indexes it is to enhance the future usefulness of a book as a reference source. In this case I focused on command keywords, stored procedures, and system tables as they occured in T-SQL code examples throughout the book. You will benefit from making a new index entry just for references throughout the text to the code on the CD. When a book is of sufficient quality, as this book is, this small effort on the reader's part is time well spent.


... It looks like I better post this before the second edition gets published. Happy reading.


See larger cover