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?
Jon Heggland wrote:
> In article <1133288703.505685.293960_at_o13g2000cwo.googlegroups.com>,
> boston103_at_hotmail.com says...
> >
> > Jon Heggland wrote:
> > > Well, like I said, Codd conflates the truth value "unknown" with NULL.
> > > I'm not sure that is a good idea.
> >
> > He does.
>
> Well, of course he agrees with himself. But who else does? How does he
> justify it? What are the consequences?
Please read the original article I've referenced for justification and the debate beween Codd and Date on the issue of nulls: http://www.dbdebunk.com/page/page/1706814.htm.
>
> > > I am curious: In Lukasiewicz's system, what do you get when you compare
> > > the unknown truth value to itself?
> >
> > Lukasiewicz's logic as far as I remember deals only with logical
> > connectives and "truth" values (0, 1, 2). Its truth table coincides
> > with Codd's 3VL, but I believe it has nothing to say about the value1
> > <comp> value2.
>
> http://en.wikipedia.org/wiki/Ternary_logic:
>
> "Note that any two statements with the same truth value are equivalent,
> even if the truth value is unknown."
>
> The truth table for equivalence (EQUALS, <->), 0=unknown, 1=true, 2
> =false:
>
> P Q P <-> Q
> 0 0 1
> 0 1 0
> 0 2 0
> 1 0 0
> 1 1 1
> 1 2 2
> 2 0 0
> 2 1 2
> 2 2 1
>
You are confusing the logical equivalence connective (<=>) with the equality (=)predicate/relation. They are not the same thing, naturally.
> > Codd just stipulates that the comparison results in
> > unknown if either operand is NULL. You are free to redefine ;)
>
> No, he also stipulates that the unknown truth value is the same as NULL,
> which means we are not able to represent the unknown truth value
> faithfully.
He uses the same symbol (NULL) both to talk about the unknown as an unknown value and to talk about the unknown as a logical constant as you noticed earlier yourself. It's confusing, but one can easily deduce from the context what exactly he means. In order to avoid confusion, one can use NULL to represent only an unknown value and UNKNOWN to represent the additional [to TRUE/FALSE] logical constant.
>This is a blunder analogous to saying that the empty string
> is NULL.
No, it is not. Similarly, Lukasiewicz uses 0,1,2, but you would not claim that 2 is an integer in the context, would you ?
>
> Do you know how Codd defines implication in his 3VL?
He does not, at least not in the article I've refered to.
> --
> Jon
Received on Wed Nov 30 2005 - 09:47:52 CST