In an attempt to throw the authorities off his trail, joe.celko.RemoveThis@northface.edu (--CELKO--) transmitted:
> You ought to be able to do something for missing data; it is a fact
> of life. Date's tricks for avoiding it just don't work. He had a
> soluton to an old SQL puzzle of mine on <a rel="nofollow" style='text-decoration: none;' href="http://www.dbdebunk.com" target="_blank">www.dbdebunk.com</a> where we
> wanted the current salary date and the previous salary, but a
> new-hire (i.e. no previous data) ws to show up as a NULL. He used
> an actual date for a missing date (1900-01-01 or something); this
> implied that there was a loooooong time between raises for some
> personnel.
Darwen has a paper that presents how you can "totally evade" having
any NULLs.
<http://www.hughdarwen.freeola.com/TheThirdManifesto.web/Missing-info-without-nulls.pdf>
But while it "solves," with reasonable elegance, the problem that he
considers a problem, I think it introduces as big as a problem as the
one that went away, namely that it decomposes the data into a whole
set of views that require that applications be cognizant of not one,
not two, but FOUR quite distinct sorts of "emptiness indicators."
That sure looks to me like a 6-Valued-Logic, as opposed to the mere 3
that pop up with NULL. If 3 was a whole lot worse than 2, once you
take it to the power of 4 or 5, 6^5 has got to be a whopping lot
worse...
--
select 'cbbrowne' || '@' || 'acm.org';
<a rel="nofollow" style='text-decoration: none;' href="http://cbbrowne.com/info/finances.html" target="_blank">http://cbbrowne.com/info/finances.html</a>
Customer: "I'm running Windows '95."
Tech: "Yes."
Customer: "My computer isn't working now."
Tech: "Yes, you said that."
>> Stay informed about: Two-valued logic