| 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?
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. :)
-- JonReceived on Mon Dec 12 2005 - 04:11:23 CST
![]() |
![]() |