Database in Depth: Relational Theory for Practitioners
S**2
If You're Ready for Something Different
If you're already an experienced database guy and ready to open your mind to what could have been, then this is a great book. The author really knows his stuff and knows that he has a tough task of getting you to think the way a RDMS would work if it were designed with the original vision in mind. My advice is to do most of the exercises in each chapter before moving on. You'll definitely have deeper insight when finished.
A**A
Good material, awful editing
The material is interesting, C.J. Date tries to go beyond the practicality of SQL and back to fundamentals of relational theory. He makes interesting points about NULL, duplicate values and such, but this assumes a fair level of familiarity with SQL (viz. you use SQL on a regular basis).I find the editing poor in that the author very often states that some point is explained in later chapters or later in a given chapter. While this is fine once or twice, it quickly becomes tiresome and frustrating; to many forward references.This book is not quite a theory book (light on the math side) but a book to be read nonetheless as it delves into matters seldom found in database books (at least the mainstream crop).
A**Z
Five Stars
in good condition
W**D
Could use more depth
I came to this looking for a systematic development of the relational model, as a prelude to some personal experimentation. I came away with a lot less than I hoped. The book largely uses an informal, chatty, opinionated approach, but throws in a few more rigorous dribs and drabs at irregular intervals. The informal parts, although they present hard-won knowledge and good practice, don't provide a satisfyingly strong foundation. The occasion paragraph or two with real technical rigor doesn't fill the gap. Those moments stand isolated, not really part of the narrative flow, and generally lack the formal notation that could have made their meanings precise.Date advertises his other books heavily throughout this one - perhaps one of them has the kind of detail I was hoping for. And, perhaps that book won't use terms like Design  Theory  in ways so at odds with other established usages.-- wiredweird
B**N
C.J.Date Database in Depth
C.J. Date is the expert on relational databases. This is a great book I use it in my Systems Analysis and Design Class.
U**K
forget this and just get SQL and Relational Theory
I bought two of C.J.Date's book, one being SQL and Relational Theory (How to Write Accurate SQL code) hoping to find something new as the title suggested. However, looking at the table of contents of both the books, i find the same content is repeated in his new book (SQL and Relational Theory).So, forget about this one if you were to buy his new book.
D**S
An excellent introduction to the relational model by one of the best thinkers in the field.
When I was early in my Computer Science degree I took a course in which we discussed database fundamentals. In that class we learned about things like tuples, relations, predicates, predicate logic and deductive proofs. All of these were involved with the relational model, but it wasn't until later when I discovered the writings of Fabian Pascal and C. J. Date that I began to really understand how the above concepts tied into the database systems I was using, such as Oracle, MySQL, and Postgresql. One of those aha moments came when I realized that the deductive proofs we had done in that class were essentially queries to a database system. I came to see how each row (tuple) in a database table (relation) represented a set of values for a predicate that the relation represented. Overall, a database, then, was the logical AND of all the facts represented by the tuples of each relation. Queries were simply deductive proofs which allowed one to derive new facts from existing facts in the database. Good stuff all around.If you're lucky, you will have studied Date's venerable Introduction to database systems while taking a college course in databases. If not, then you're still lucky, becuase Date has condensed the fundamentals of the relational model into a very approachable and very practical book published by O'Reilly, Database In DepthDatabase In Depth takes you through a tour of the key concepts of the relational model, starting with the very basics (types, tuples, relations and so forth), and takes you step-by-step into more formiddable territory (stuff like normalization, join dependencies, integrity constraints, relational algebra, and the like). Throughout the book, Date explains each concept in his characteristic clarity. Date knows this stuff through and through, and it shows.You may be tempted to think like many others that theory and fundamentals are fine and dandy, but how practical are they in the real world? In my experience, they're crucial. By understanding the fundamentals and the theory behind the databases you work with, you can avoid costly design flaws that lead to poor data integrity. By understanding these concepts, you can design databases that you can trust absolutely to store and deliver accurate results. I've had to work with databases that weren't designed with these concepts in mind, and the difference is stark.One warning, you wont be spoon-fed here. The material can be challenging, and Date expects you to use your brain. This isn't SQL For Dummies. The real advantage you will gain by reading a book like this is that you will understand the mathematical and logical reasoning behind practical design principles such as why, for example, it's important to normalize (and the pitfalls you can run into when you de-normalize), why nulls can potentially lead to bad logic, and why duplicate rows are a bad idea all around. You'll be able to understand the ways in which most of today's database systems fail to faithfully implement the relational model, and the consequences of those failures (and consequently how to design your databases well despite these shortcomings).Unlike many computer books that become obsolete within a year or two of their publication, Database in Depth is among that narrow collection of computer books that remain useful and relevant for years. This is precisely because it remains grounded in theory and fundamentals, instead of being tied to specific brands and versions of software.The bottom line here is if you do much of anything with databases, then just about anything you read by C. J. Date will be worth your while. Database In Depth is no exception.
A**N
Grumpy theory
Contains only theory, with little real-word usefulness, despite what the author claims. Comes across as if it's written by a grumpy old man, constantly complaining about how SQL gets everything wrong.
U**T
A book about the seminal theory that database design is based on
As C.J. Date says in the book, the intended audience of this book are experienced practitioners. Its purpose is not to teach SQL (although you will learn a lot about its weaknesses and why it fails to implement the Relational Model), but rather to teach relational theory and the Relational Model. The topic is very abstract theory with deep and strong mathematical roots - but a rock solid Model with powerful possibilities if it were to be implemented. SQL, on the other hand - although being a useful and powerful tool in today's technological toolkit, at best can be described as a very poor and flawed implementation of a faint shadow of the Relational Model. Although i believe that Mr. Date has done a very good job of explaining a very abstract and complicated topic, i must admit that it has been a very difficult read for me and that i will probably have to read it a number of times before i will be able to grasp all that he writes about. I hope that this is because i am NOT an experienced practitioner. But even though there is far too much that i was not able to grasp after my first reading i do not regret for one second buying this book and highly recommend it to anyone truly interested in understanding the theory that database design is based on.
G**E
Brilliant Book - Crisp Clear Logical and very Compelling
I am a CEO of a small (45 person) Software VAR / ISV company (M4 Systems) - I have read many books on databases and SQL, this is by far the best. In my 26 years of business experience I have been surprised to find that - in the general workplace (including IT) logic and common sense is in remarkably short supply - therefore I recommend this book to anyone who is interested in business systems to support effectiveness and efficiency. Gary Clarke P.S. This book is much easier reading that his other book on Logic and Databases.
V**.
I stopped reading after 50 pages because of too many redundancies and unnecessary sentences (as if someone were giving a lecture
I bought the book due to C.J.Date's well known name in the 'relational world' and because I wanted to remind myself of the theory behind the relational databases. However, I stopped reading after 50 pages because of too many redundancies and unnecessary sentences (as if someone were giving a lecture).
K**O
It wasn't what I expected, but great
I hoped this book would give me solid theory to help me design better databases. It really doesn't, but it explains the relational model greatly, and will give you insight on all areas of database development.
R**Y
Five Stars
Essential DBA reading.
Trustpilot
1 month ago
1 month ago