Re: Two-valued logic

From: Christopher Browne <cbbrowne_at_acm.org>
Date: 7 Jan 2004 04:21:46 GMT
Message-ID: <btg1gp$6k6e4$1_at_ID-125932.news.uni-berlin.de>


In an attempt to throw the authorities off his trail, joe.celko_at_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 www.dbdebunk.com 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' || '_at_' || 'acm.org';
http://cbbrowne.com/info/finances.html
Customer: "I'm running Windows '95." 
Tech: "Yes." 
Customer: "My computer isn't working now." 
Tech: "Yes, you said that."
Received on Wed Jan 07 2004 - 05:21:46 CET

Original text of this message