Re: 3vl 2vl and NULL

From: David Cressey <dcressey_at_verizon.net>
Date: Mon, 12 Dec 2005 13:10:37 GMT
Message-ID: <hFenf.1737$Bj4.1537_at_trndny01>


"Jon Heggland" <heggland_at_idi.ntnu.no> wrote in message news:MPG.1e077c153499ce92989741_at_news.ntnu.no...

> This sounds like an agreement on that "value is missing" is essentially
> the same as "value is unknown". Or do you draw some separation between
> "unknown in the database" and "unknown in the real world"?

I'm a dissenter in that agreement. To me, "unknown" strongly implies that the value exists, although not in the database.

"Inapplicable", which is one of the possible reasons why a NULL might be found, goes beyond "unknown". "Inapplicable" strongly implies that the reason the value is missing is that there is no value, at all.

These two cases, "unknown" and "inapplicable" may be profoundly different, philosophically, but in cases where a row exists with missing values, in SQL, both will have the same representation: NULL.

In particular, extending the 2VL domain [TRUE,FALSE] to the 3VL domain [TRUE,FALSE,UNKNOWN] is profoundly disturbing to me.

You see, if I have a domain of
[MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY] And I assert that a certain variable or cell has the value TUESDAY, I'm ruling out the other six choices.

There is a 3VL whose values are [TRUE,FALSE,MEANINGLESS] when a formula comes up MEANINGLESS, it means that it is not a "well formed formula" or WFF. The definition of a WFF is outside this discussion. But an assertion of MEANINGLESS is a denial of TRUE and FALSE.

[TRUE,FALSE,UNKNOWN] doesn't work that way. UNKNOWN doesn't deny TRUE or FALSE. I don't like that. Received on Mon Dec 12 2005 - 14:10:37 CET

Original text of this message