SQL and Relational Theory (3rd Edition)

Author: C J Date
Publisher: O'Reilly
Pages: 582
ISBN: 978-1491941171
Print:1491941170
Kindle: B017S0YPOG
Audience:SQL Developers
Rating: 4
Reviewer:Kay Ewbank

This updated edition of a classic on relational theory has added NoSQL to the mix.

Subtitled 'How to Write Accurate Code', this is a book that splits opinions. In our reviews of the earlier editions of this book, Mike James said that if you want to know about relational theory and the many normal forms that can be applied to a database, it's a really good book to get to grips with it all - so long as you're a bit of a mathematician. Joe Celko, meanwhile, (an old adversary of Chris Date) felt there was too much emphasis on Tutorial D and not enough on 'pure' SQL, instead arguing why Tutorial D is right and SQL is flawed.

Banner

Tutorial D is the language invented by Date and Darwen and used in their classic text, The Third Manifesto. That book sets out how SQL isn't ideally matched to the relational database model, and defines the characteristics that an ideal language, D, would use; essentially, an ideal language would be based on the relational calculus. No syntactical details for D were given, but an example of how it might be developed was shown in the form of Tutorial D.

Tutorial D is used widely in the book reviewed here, and to get the best out of the book you're going to need to learn enough to understand the examples and many of the points being made. If the book were titled D and Relational Theory, it would in some ways be more accurate.

 

 

Despite these reservations, this is a well written and interesting book. The revisions to this edition bring the examples up to date with the changes to the SQL standard, and the improvements to Tutorial D. One nice touch is that, in response to readers' requests, Date has increased the size, admitting that his own eyesight isn't what it used to be, either. 

The main addition to the book is an appendix on the new NoSQL systems. For those of us interested in relational theory, Date's analysis of NoSQL and its relationship with relational theory is worth buying the book for. Love him or loathe him, Chris Date is one of the big thinkers in the database arena, and his views on NoSQL are as blunt as everything else he writes. He says that in his view, NoSQL products are united in the extensive and demonstrable lack of understanding of the relational model displayed by their promoters. He goes on the the products are also united in their failure to distinguish properly between a model and its implementation.

He discusses other common problems with NoSQL - rejection of ACID transactions, data replication, functional segmentation, lack of schemas, and lack of join support. There's also an edited (and illuminating) version of the interview by Iggy Fernandez with Hugh Darwen and Chris Date for NoCOUG Journal (North California Oracle User Group).

Despite the larger font size, the book is still tough reading, as the ideas are still highly mathematical and in many cases quite abstract. I wouldn't recommend reading it if you're attempting to get to grips with SQL and want to improve your query writing. I would heartily recommend it to anyone who is interested in the thinking behind relational theory. Finally, if you want a less rosy-tinted view of NoSQL, at least read the appendix. You may not agree with all he says, but there are some real truths in there.

Related Reviews

SQL And Relational Theory (Mike James Review)

SQL And Relational Theory (Joe Celko Review)

SQL For Smarties

 

To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.

Banner


Machine Learning with PyTorch and Scikit-Learn

Author: Sebastian Raschka, Yuxi (Hayden) Liu & Vahid Mirjalili
Publisher: Packt
Date: February 2022
Pages: 770
ISBN: 978-1801819312
Print: 1801819319
Kindle: B09NW48MR1
Audience: Python developers interested in machine learning
Rating: 5
Reviewer: Mike James
This is a very big book of machine le [ ... ]



Testing JavaScript Applications

Author: Lucas da Costa
Publisher: Manning
Date: April 2021
Pages: 512
ISBN: 978-1617297915
Print: 1617297917
Audience: JavaScript developers
Level: Intermediate
Rating: 5
Reviewer: Ian Elliot
Testing the most web's fundamental language is clearly important...


More Reviews

 

 

Last Updated ( Saturday, 30 July 2016 )