Database in Depth: Relational Theory for Practitioners

Book Review

Database in Depth: Relational Theory for Practitioners
by C. J. Date
Copyright 2005
O’Reilly Media, Inc

Database in Depth: Relational Theory for Practitioners

Find out more about this book,
or purchase it, from

  1. What exactly is first normal form?
  2. What’s the connection between relations and predicates?
  3. What’s semantic optimization?
  4. What’s a join dependency?
  5. Why is semidifference important?
  6. Why doesn’t deferred integrity checking make sense?
  7. What’s a relational variable?
  8. What’s nonloss decomposition?
  9. Can a relation have attributes whose values are relations?
  10. What’s the difference between SQL and the relational model?
  11. Why is the information principle important?
  12. How does XML fit in the relational model?
  13. Challenging questions, aren’t they?

Don’t worry! This book, by one of the leading authorities in the field, will answer the above questions and a lot more. If you are tempted to say: “Nice, so what? Just another academic book written to be read and understood only within the ivory tower by those guys from the Mensa crowd,” then you might reconsider your point after reading through some pages. The subtitle of this book is “Relation Theory for Practitioners” and the author holds true to this promise. Though very little of the technical substance in this book is new, it is not like other readings by the author you might know, particularly An Introduction to Database Systems (Addison-Wesley), the standard textbook in the field, now in its eighth edition. However, the content still doesn’t make for easy reading. And if you don’t have a taste for the theory or lack interest in mathematics, you carefully evaluate the book before you buy it. Without a doubt, if you work with databases, you need at least a very basic knowledge of the underlying theory behind relational databases. This knowledge will help you to get into “a position of conceptual strength” as the author calls it and assist you when you have to decide between following a theoretical rule and dismissing it. Date delivers that knowledge from his own point of view.

The book is divided into eight parts:

  1. Introduction.
  2. Relations versus Types.
  3. Tuples and Relations.
  4. Relational Variables.
  5. Relational Algebra.
  6. Integrity Constraints.
  7. Database Design Theory.
  8. What is the Relational Model?

Each part ends with exercises so you can check your understanding of what you have read so far. The answers are provided online.

The fact that this book offers little new content but rather seems to focus on confirming the author’s thinking is both the strength and weakness of this book. If you already own other books by the author, especially the above-mentioned Introduction, you may find this book unexciting. However, if you haven’t read anything by this author, this is a very good introduction into the thinking of one of the masterminds in the field.

Either way you will need an interest in reading theoretical books, even if the subtitle does says it is for practitioners.

Finally, whether or not you agree with the authors positions (especially on his thinking about NULLs), he will make you think about your own positions, and that is a good thing anyway, right?


Leave a comment

Your email address will not be published.