• Eric M Russell - Monday, January 9, 2017 3:33 PM

    Phil,The name of the this article "Keeping up to, and down with, Date"; I get that it's a pun making reference to the mathematician, relational database pioneer, and author Christopher J. Date, and also perhaps an even more oblique reference to the play, "Keeping Down with the Joneses". If so, then that's pretty clever. 🙂

    I wondered if Date was intended to suggest CJD, but then thought that Phil would never want to get down to that level let alone keep down there.  I may of course be wriong.   But after suffering all his nonsense, things like

    "NULL - you can't have NULL, because as soon as you need one sort of NULL you need a second sort and one you have two sorts of NULL it's easy to prove you need an infinite number of sorts"
    Which was pure bullshit

    "there's no need for NULL, you can always do the same thing by having a default value for the column" 
    That's going to work beautifully for the inner join of two derived tables each constructed by outer joins between base tables, isn't it? maybe you can get around it if you can find a value you can safely exclude from the original domain (sometimes difficult), and ensure that it doesn't combine in any sort of sane manner with other values in the domain (usually impossible) or values in other domains which can be combined with operators (almost always impossible even if the usually-impossible in domain requirement isn't), and are prepared to write extra SQL to exclude cases of a match on the default and replace all the arithmetic and comparison operators with code to handle these defaults.  So that was also quite clearly pure bullshit

    "1 NF is a bad idea because because the intersection of a row and a column shouldn't be restricted to a things that the database sees as single value, it could be something seen as a list of values or as a set of values or as whatever you like"
    I guess I don't have to say it a third time?

    and seeing the wonderful idiot he made of himself in the published debate with Codd,
    I don't think I'll ever trust anything he said or wrote, and keeping down with CJD would in my view be insane.

    Yes, he wrote some quite intelligent stuff  as well, but most of it was tainted by the sort of nonsense I've referred to.  The worst of it is that people who don't understand the relational model have taken his rubbish to heart and we have extreme anti-null people and anti-atomicity people participating in this site.  Sensible people say "try to avoid NULL but if you can't don't screw up by not using it", which is very anti-CJD and very pro-Codd; and sensible people also say "we don't care if the application which gets the value from the database sees what it's got as a complex object with many components as long as the database sees it as a simple atomic object that has no structure but only attributes discoverable by the functions built in to the SQL (or QEL,or whatever our database uses for queries) language" which is very anti-Date, and very pro-Codd (who would of course have voted for "whatever" rather than for SQL).

    Tom