SQL and Relational Theory: How to Write Accurate SQL Code 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Customers who bought this item also bought
Customers who viewed this item also viewed
About the Author
C.J. Date has a stature that is unique within the database industry. C.J. is a prolific writer, and is well-known for his best-selling textbook: An Introduction to Database Systems (Addison Wesley). C.J. is an exceptionally clear-thinking writer who can lay out principles and theory in a way easily understood by his audience.
There was a problem filtering reviews right now. Please try again later.
The author himself (as stated in the Preface) intends for this book to REPLACE his earlier "Database in Depth" book. You need not buy both. Just buy THIS one.
I would give this book extra stars if I could!
This book has everything I could ask for:
>> the author has *deep* expertise on the topic,
>> the book *will* give you new insights on the topic,
>> the book is mostly self-contained
(meaning you aren't expected to have a particular training or math background -- all necessary fundamentals are covered in the book when they are needed).
You might think my three-bullet list (above) seems small and underwhelming. If so, then stop for a moment and try to remember the last time you read a technical book that really achieved perfection on all three points. (Then go write a raving review of THAT book, because it surely deserves it.)
I am usually happy with a book as long as it teaches me even ONE new idea that I think I'll carry with me throughout my career. This book has provided me with handfuls of insight that will certainly influence (and ease) my work for years to come. Furthermore, most of these insights are applicable far beyond the DBMS realm.
I highly recommend this book to anyone with a strong interest in SQL. Additionally, I wish I could *force* all DBMS *implementers* to read this book! That isn't to say that this book highlights ideas that aren't yet implemented -- that isn't true at all. I want implementers to read the book because they might enjoy their work more after reading this book, and I think they might be inspired to think more creatively about how to implement (and/or reimplement) parts of their DBMS, since this book highlights several ways that implementations are actually given much more freedom in implementing the relational model than perhaps has been taken advantage of.
I love this book. For 30 dollars it is a bargain. Buy it!
NOW FOR MY ONE CRITICISM:
I had to force myself to remain patient and good-natured as I read the first chapter, and certain parts of the first three chapters. Why? Answer: because the author is sometimes excessively wordy, and it seemed to me that we were "beating around the bush" for several paragraphs before just STATING SOME POINT OUTRIGHT. Sadly, (apologies for the cruelty), the word "windbag" crossed my mind more than once. HOWEVER! HOWEVER! It would have been too hasty of me to throw down the book in disgust at such an early point in my reading. And I am very, very glad that I did not. As you can tell by the maximum star rating that I chose -- and by everything I said above -- I love this book and am thrilled to have read (and re-read) it. Just beware that the author's verbose style might take some getting used to.
Keep the following in mind, as well: all the "extra wordiness" that initially annoyed me was later converted into a great asset in subsequent chapters that covered deeper and deeper material.
It turns out that wordiness is in the eye of the beholder, and once I (the beholder) found myself in UNFAMILIAR topics, the wordiness was suddenly a thing of grace that eased me into the topic.
The relational model of databases is based on the pioneering work of E.F. Codd, a mathematician working for IBM who published his initial seminal paper in 1969. A language to support queries in relational databases was subsequently developed, which was ultimately named SQL, and variants of that language are used to extract data from relational databases.
This book gives an excellent review of SQL; it includes many examples of SQL code. The book is written as a technical treatise and would not be an easy read for someone who isn't familiar with the use of SQL. The original description of relational databases was mathematical in nature, and this book follows in that vein, using mathematical "proofs" to illustrate the best approach to the use of SQL in relational databases. There are many exercises given at the end of each chapter, and the answers to the exercises are given at the end of the book. There is a seven page index. Appendices A & B provide a somewhat simplified, easier to read discussion of the primary goals of the book than the book chapters do, for those wishing a simplified synopsis of the main points, I'd suggest reading those appendices first.
For those who would appreciate a theoretical discussion of database design and SQL development that will "bullet proof" their code, this is an excellent book. For those who'd like a more nuanced discussion of why there should only be one instance of any data set in their tables, this book provides the answers. But for the mathematically challenged, it may be tough going.
Top international reviews
So why only 3 stars? Because of the incessant sniping at SQL the whole way through. Date has been vocal for years about SQL falling short of the relational model, and exhorting the DBMS world to step up. He (and Hugh Darwen) also provided a comprehensive specification for a next generation DBMS that fully realised the power of the relational model. For whatever reason, the market hasn't delivered the vision in product.
Whether because of that, Date seems to have become obsessed with pointing out SQL shortcomings against the relational model. And that is a real shame. This book would have been /so/ much better had Date focused on real-world problems, shown how the relational model elegantly handled them, and then providing solid advice on how best to solve the same problem using SQL, shortcomings and all.
Doing so would have made the book even more useful and removed the frustrated undertone. Paradoxically, it would likely also have served Date's goal to expose SQL's shortcomings and perhaps motivate improvement from the vendors.
So ultimately a good book that could have been great. It nevertheless remains an excellent description of the relational model, far more accessible than either "Foundations of Database Systems" (as mentioned elsewhere) or "The Third Manifesto".