Re: So what's null then if it's not nothing?

From: Jon Heggland <heggland_at_idi.ntnu.no>
Date: Mon, 12 Dec 2005 11:11:23 +0100
Message-ID: <MPG.1e076b3a45f99d7a989740_at_news.ntnu.no>


In article <1134310021.361013.248720_at_f14g2000cwb.googlegroups.com>, boston103_at_hotmail.com says...
>
> > But how do you reconcile this with his THETA-SELECT example, where R[A =
> > r] does produce a result? By your definition, A is certainly not equal
> > to r.
>
> A is a variable that may or may not be equal to 'r' when it ranges over
> some domain of values.

Ah, so the presence of range variables change the interpretation of '='? Let me quote some old parts of our discussion (I'm even, you're odd):

> > Let me try an analogy. If, in Java, you say "if (4 == 2 + 2) ...", what
> > is the if statement testing, equality or equivalence? Or does my
> > question not make sense in some way?
>
> Equivalence, of course.

>
> >
> > > Two 3vl expressions are equal iff they are the same. E.g. (X and Y) =
> > > (X and Y).
> >
> > So (X and Y) is not equal to (Y and X)?
>
> Obviously, it's not.

(End quote)

So... In a THETA-SELECT R[2 + 2 = 4], '=' would be equivalence, but in R [2 + 2 = A], '=' would be equality? (X and Y) is "obviously" not equal to (Y and X), but what if X and Y are range variables? Can you imagine why you often confuse me?

> > I still don't understand what the 'lethal' problem is. Can you give an
> > example?
>
> Evaluating w=w to w where = denotes equality.

That may be the *cause* of a problem. What is the *problem*?

> > It would have helped your case if Codd had included that word. Seems to
> > me that either:
> >
> > 1. There is no problem, even if you apply this to truth values
> > 2. There is a problem, but Codd wasn't aware of it
> > 3. Codd was aware, but was really bad at explaining things
> > 4. The problem is so obvious that it is pointless to mention it
> >
> > I lean towards 1 or 2. Do you subscribe to 4, or do you have other
> > alternatives?
>
> I subscribe to (4). I am also curious as to how one can subscribe to
> anything but (4) assuming one understands that a logic is not
> available any more if (1).

That understanding is the crux of the matter, I guess. :) Note: You may very well be right, but in that case I believe Codd was wrong. His using the same symbol for for 'missing' null and unknown truth value, and his "uniform treatment" phrase have *no* purpose and serve *only* to confuse if (4) is the case.

And for what it's worth: The SQL-99 standard seems to have interpreted Codd the way I do. But I'm not sure if that weakens or strengthens my position. :)

-- 
Jon
Received on Mon Dec 12 2005 - 11:11:23 CET

Original text of this message