Re: Does Codd's view of a relational database differ from that of Date & Darwin? [M.Gittens]

From: Marshall Spight <>
Date: 10 Jun 2005 22:33:38 -0700
Message-ID: <>

Jan Hidders wrote:
> Marshall Spight wrote:
> >>Sometimes you *can* say something, even though some of the variables are
> >>unknown. Suppose I told you x is a natural number, could you then tell
> >>me whether the following statements are true:
> >>
> >> (x > 5) or (x <= 5)
> >> (x - x) = 0
> >>
> >>I bet you could. :-)
> >
> > Hmmm. I will agree that for any unknown value of x, you can say
> > things about that are also true for all x.
> >
> > Hmmm. That makes it seem like UNKNOWN is really a universally
> > quantified logic variable.
> Not precisely, because "x > 5" would then be "false" but under the
> "unknown value" interpretation the answer should be "maybe, maybe not".

I see. You mean that if null is to be interpreted as "forall x", then null>5 should be false, but in SQL it's null.

> > That sort of makes it seem like arguing for UNKNOWN values
> > is like arguing for universally quantified logic variables, which in
> > the
> > absence of unification are neither interesting nor useful. Or am I
> > wrong?
> It's interesting if only because it is the formal definition of what the
> "missing value" interpretation actually means.

I've read this sentence above ten times, and I'm still not getting it. What does "It" refer to? *What* is the formal definition? And did you mean the formal definition of *unknown* value or missing value?

> However, it is an
> unattainable ideal, although unification is certainly not the only nor
> always the best way to deal with universal quantification, and the
> situation is certainly not as hopeless as you make it out to be.

Ack! *What* is the unattainable ideal? And forgive my ignorance, but what are some other ways to deal with universal quantification besides unification?

I'm guessing a bit here, but I suspect the "unattainable" part refers to uncomputability?

As to the hopelessness of the situation, I'm also not clear what you're saying. We've established that unknown isn't the same as universal quantification, and it's not the same as not-present or cardinality-0 information. I have to stay that unknown strikes me as being quite hard to work with; much more so than special-values (as with a type system that supports union types) or cardinality-0. At the same time, it doesn't seem, as a practical matter, to buy me anything I'd want that I couldn't get more easily with special-values or cardinality-0. Overall, from a bang-for-the-buck perspective, the complexity and cost of *unknown* do NOT appear to be worth the modest utility. (Although I suppose it might be better to have SQL's null than nothing (ha ha,) if I couldn't have union types or a cardinality-0 solution.)

Is there some subtle value to *unknown* that I'm not seeing?

> Nevertheless, if you only want to approximate the ideal you should still
> know and understand it.

This seems like a good general principle. :-)

Marshall Received on Sat Jun 11 2005 - 07:33:38 CEST

Original text of this message