| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: So what's null then if it's not nothing?
vc wrote:
> JOG wrote:
> > vc wrote:
> > > JOG wrote:
> > > > vc wrote:
> > > > > Jon Heggland wrote:
> > > > > > In article <1134052742.347560.142840_at_o13g2000cwo.googlegroups.com>,
> > > > > > boston103_at_hotmail.com says...
> > > > > > >
> > > > > > > > I don't think a "regular" unknown/missing SQL NULL for a 2VL boolean
> > > > > > > > domain should be regarded a truth value. That would be inconsistent with
> > > > > > > > how NULL works in other domains.
> > > > > > >
> > > > > > > Then the logic ceases to be such if its truth values set include a
> > > > > > > value for which the equality predicate evaluates to anything other than
> > > > > > > TRUE or FALSE as I said elsewere.
> > > > > >
> > > > > > It does *not* include such a value. NULL is not a truth value any more
> > > > > > than it is a number or a string.
> > > > >
> > > > > I am missing something. If you store/use NULL as a logical value, haw
> > > > > can it *not* belong to the logical vaue domain with its logical
> > > > > operations? Sorry, but that does not make sense.
> > > > [snip]
> > > >
> > > > But Null can never _be_ a logical value: it is by definition an
> > > > indicator of the very absence of a logical value. In addition, as a
> > > > logical value how could it possibly exist?
> > >
> > > I am not sure what point you are trying to make. Are you suggesting
> > > that nulls be allowed in , say, Boolean columns ? Or just the opposite
> > > ?
> >
> > That you cannot mathematically incorporate the null concept into a
> > logical system in the way that has been proposed (i.e. 3VL, which
> > obviously can be effective with more valid domains).
>
Well, you answer your question when you quote me. Of course you can have 3VL. It just makes no sense with this domain. If I have {T, F, X}, well fine, but if one then defines X as representing a lack of knowledge concerning T or F, the domain no longer makes sense. X is describing the state of the other values - it is part of a meta-theorem, and has no place sitting next to T and F. (One might want to analogise with quantifiers in second and third order logic).
>> > column for example you could not place true, false and Null in a
> > In a boolean
>
no, you are correct. Calling it a Boolean column is silly. A column with a domain {True, False and Null} is what was meant, as discussed above.
>
>
No you can't just stick any old values into a logical system. 3VL will obviously always work if you are thinking in terms of the symbols (that is how it is defined after all), but we are not dealing with things from a "formalist" standpoint here (bottom up). We already have the meaning of null established and are attempting to work down (a "realist" or "platonist" standpoint), and as such we cannot just squash its characteristics into a symbol and expect everything to work, just because we've written down a truth table.
> >> > would be non-reflexive, a nonsense in a logic system. This should be
> >
> > >
> > > > In a world where the equality relation over a logical domain is not reflexive?!? This whole
> > > > argument makes no sense to me.
> > >
> > > Whose argument are you objecting to ?
> >
> > The argument that would incorportate Null != Null into the logical
> > arrangement - this would mean that the equality relation in the domain
>
Sure! It looks like we are just agreeing loudly. Perhaps it looked like I was arguing against you, but this was not the intention. Rather I was just making statements, sparked off by your comments.
>> > easy thing to do). Null talks about the underlying algebra - it is not
> >
> > > >. If you want to use nulls, well
> > > > mathematically your looking at a meta-language, and you simply can not
> > > > condense it all down into a single conceptual level (Or hofstadter
> > > > might point out that you have to pass it up to the next djinn!).
> > >
> > > What's that supposed to mean ?
> >
> > That mathematical levels are being confused in this discussion (a very
>
>
Well I've maybe explained this above. Null means we do not have a value for boolean X say, whereas True and False are actually instances of those values, that Null describes are missing. Null is acting at a different level, as it describes an underlying theorem rather than being part of one. Now I understand my descriptions probably make this clear as mud, but this sort of consideration of theorems and meta-theorems and meta-meta-theorems is pretty much all modern mathematics is about (consider Godel's work). I do not teach this stuff (as you can probably tell) so all I can do is point you in the direction of the references I made before.
All best, Jim. Received on Sat Dec 10 2005 - 08:31:18 CST
![]() |
![]() |