Review of SQL: The Complete Reference, 3rd Ed.
ISBN: 0071592555
Reviewer Ratings
Relevance:Readability:
Overall:
Buy it now
One Minute Bottom Line
A must have for any DBA, aspiring DBA, or developer that has to perform DBA tasks ever! A more than complete reference to all things SQL, as well as a pretty in-depth peak at various SQL based platform specific variations of the language (from plsql to t-sql) and various programming interfaces to the RDBMS that use SQL (Embeded SQL, JDBC, etc...). Definitely complete! |
Review
SQL, The Complete Reference 3rd Edition, is definitely exactly what the name entails, complete! I began reading this book like I do with many of the technical books I read, from the beginning and reading it straight through before it gets too referency; and soon discovered that this is one of those technical books that could be read straight through; for the most part anyway!
Starting off the book went into great detail on the history of the ANSI SQL standard covering it's revisions up to the 3rd and most recent. Points that I found especially interesting were the many reasons that the various RDBMS (Relational Data Base Management Systems) vendors couldn't actually implement the complete 3rd revision of the standard, and how from those points the many vendors broke away with their own variations and interpretations of the SQL language.
The book is full of examples with many of them written in PL-SQL (Oracle), T-SQL (Sybase, Microsoft SQL Server), and DB2 compatible SQL dialects. I learned a lot about translating my current queries, stored procedures, and functions into a more RDBMS agnostic version of the same queries. I think that this helps make the code much more readable to a DBA, or developer that has to work on or understand this code. The many variations also have some really nice built in functions or ways of doing things that I hadn't previously known coming from more of a Microsoft-centric enterprise company.
There are many things that one RDBMS can do better than another, and these benefits are covered in the book, without really giving way to a biased view. SQL The Complete Reference, had some examples showing how in Oracle's PL-SQL, the cursor is used heavily in stored procedures to really gain programmatic control of the data being returned by your queries; and this is the main tool that you'll use in your Oracle queries (along with PL-SQL's nice custom collection types that really make interfacing with other programming languages a breeze). However, Microsoft's T-SQL really cannot use this approach as efficiently, as all of it's cursor's are update cursors by default (meaning that they are holding everything in memory so that you can update and move back and forth through results), this can be slightly remedied however by declaring the cursor explicitly read-only. This is a much slower approach, but they make up for this with features like Full-Text-Indexing and various functions that make writing your queries as easy as typing queries into your favorite search engine. This is just a small example of how the book helps you to see the point of other RDBMS, and where one may be preferable over the other in certain situations.
When I read a book like this, that covers subject matter that I am interested in, but even so, could put you to sleep if read in bed; I am happy to see "real world" examples that vary and show the many situations that what you are reading could help you in your job or independent programming efforts. In fact this is one of those things that helped me the most in reading this book, actual ways that I could use what I am learning and taking that away from my time spent with this book.
All in all, this was a wonderful book. I still carry it in my bag to work from time to time when I know that my development is going to require some database work, maybe even some minor DBA tasks. Even after reading through the book "like a novel", it does prove to be an excellent reference, just as it advertises to be, complete. I use much of the example code as a starting ground for my stored procedures and have gotten compliments on solving some issue more efficiently, (thanks to those awesome real world examples accompanied by code sometimes in a few different major dialects).
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)




