SQL and Relational Theory (2nd ed)

C.J. Date

Published by

O’Reilly

ISBN

9781449316402

RRP

£30.99

Reviewed by

Dr Patrick Hill CEng MBCS CITP

Score

10 out of 10

Relational databases and SQL have been the de facto standard for data storage and retrieval for many years. Date is a long-established relational theorist and writer on relational databases and is a staunch supporter of the relational model.

In this book, however, Date asserts that the relational theory that underpins relational databases has been misunderstood and miscommunicated. This, he argues, is particularly the case where ones only exposure to the relational model is through SQL.

This book is aimed at database professionals. It is not a introduction to relational databases or a refresher.

Rather, the book is intended to help those working with relational databases to better understand the principles upon which they are based and to understand where SQL and its implementations depart from these principles.

This understanding should then enable readers to make better informed decisions about practical database design and operation issues.

The book is written in Date’s usual entertaining and readable style and covers a lot of ground. Over the course of the twelve core chapters, Date expounds relational theory, relational algebra and relational calculus with the help of a simple example database structure, which is used throughout the book.

Date is very critical of SQL, so in this book, as in others, Darwen and Date’s relational language ‘Tutorial D’ is used and contrasted with SQL.

Each chapter contains a set of thought-provoking questions, answers to which are provided in an appendix. In addition, the book provides a set of in-line recommendations, which, usefully, are summarised with back-references in an appendix.

The book is very focussed on principles and as such there is no direct mention of any particular relational database product. Also, it is only really in chapter 11 that the book starts talking about ‘how to write accurate SQL code’, and this is in terms of the principled transformation of relational calculus expressions into SQL queries.

I found the book an enjoyable read and I think that most professionals involved with relational databases would find something new in it. I’d recommend it.

Further information: O'Reilly

April 2012