Re: 3vl 2vl and NULL
Date: Mon, 5 Dec 2005 00:02:51 -0000
Message-ID: <GrmdneHeOsyLGQ7eRVnyvw_at_pipex.net>
"dawn" <dawnwolthuis_at_gmail.com> wrote in message
news:1133723820.633095.187640_at_g14g2000cwa.googlegroups.com...
> If you work with values as sets of values, these issues become quite
> easy, it seems. Your set of values for a boolean variable might be {T}
> or {F} or {}, the null or empty set.
It seems to me that this gets quite close to illuminating the problem by making clear what is really missing. If you insist that there is an attribute but you simply don't know its value (yet), then you at least have to concede that whatever the value is it is from the relevant domain.
If you have a Boolean variable then you know that its missing value must be drawn from only the Boolean domain. The appropriate way to think of the missing information is therefore not as an empty set, but as something that is simultaneously all possible values from the Boolean domain. The Boolean variable thus might be T, F, or T/F (where T/F is a kind of superposition of all permissible Boolean values).
I have no idea what this might mean for a 3VL, but framing it in this way has the practical advantage that it immediately discourages one from thinking of one missing value being comparable to another.
On the other hand, to say that an attribute has no value (is null if you will) is really to say that the attribute doesn't exist at all. And in my experience that is the way it is most frequently used out in the wild. People use it to mix entity types in a relation. I have said before that I think this is a fundamentally different interpretation of null than all the others, and I also suspect it is the most ubiquitous among SQL database designers. (Unfortunately it is not the only interpretation, as we know to our cost!)
Roy Received on Mon Dec 05 2005 - 01:02:51 CET