C. J. Date was the keynote speaker at this year’s Hotsos Symposium. The speech was entitled “Foundation Matters”. I couldn’t agree more. Fondations are very, very important. As I wrote at the beginning of part 1 (which, by the way, is entitled “Fondations”) of my book:
He who has not first laid his foundations may be able with great ability to lay them afterwards, but they will be laid with trouble to the architect and danger to the building.
—Niccoló Machiavelli, Il principe. 1532.
I found Chris’ speech really interesting. As a result, I decided to read his newest book: SQL and Relational Theory: How to Write Accurate SQL Code. Even if I must admit that it was not always an easy read…, I would advise every developer who uses SQL on a regular (daily) basis to read it.
There are only two things that disappointed me:
- Chris is known for being against NULLs in relational databases. Hence, I was expecting to have full coverage of this topic in such a book. Instead, there are only few pages in chapter 4 (No Duplicates, No Nulls) about it. And, sadly, the chapter ends with the following paragraph:
Of course, if nulls are prohibited, then missing information will have to be handled by some others means. Unfortunately, those other means are much too complex to be discussed in detail here. The SQL mechanism of (nonnull) default values can be used in simple cases; but for a more comprehensive examination of the issues involved, including in particular an explanation of how you can still get “don’t know” answers when you want them, even from a database without nulls, I’m afraid I’ll have to refer you to some of the publications listed in Appendix D.
- I did not understand why there is so much Tutorial D in the book. I mean, since this is a book for database practitioners, it makes not much sense, in my opinion, to spend so much time explaining its syntax and its features.
All in all, a very interesting reading!