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

From: David Cressey <david.cressey_at_earthlink.net>
Date: Sat, 26 Nov 2005 03:53:52 GMT
Message-ID: <k%Qhf.3623$aA2.855_at_newsread2.news.atl.earthlink.net>


<michael_at_preece.net> wrote in message news:1132882485.862127.147590_at_g14g2000cwa.googlegroups.com...
> David Cressey wrote:

> We're close to a shared understanding. You understand the distinction I
> make. I would like to continue the discussion at least to the point
> where you, and others, also see the difference.
>
> If we were to confine the discussion, for the time being to a data type
> of string... Can you see the difference between the presence of an
> empty string and the absence of a string?

Absolutely. If you'll go back to my original responses, you'll see that I've talking about the difference all along.

You have been saying, not I, that you can use the empty string to signify the same thing as the absence of a string. They are two different messages, and they require two different representations. That's what I've been saying.

>
> If you can, then we could widen the discussion to cover any and all
> data types. That is why I believe it was necessary to define NULL in
> the first place - to standardise on a way to represent the presence of
> an empty "thing" - something that we *know* is empty.
>
NULL covers all data types. It is not a value from any of the data types.

The comtainer is empty, the contents are not empty... there are absent.

> In SQL, NULL is most widely used to represent missing data. I believe
> it should be possible to store only present data. If a model insists
> that there be a representation for unknown or absent data then that is
> a fundamental flaw in the model. Missing, or absent, data should be
> exactly that - nowhere to be found. It should not be represented at
> all. It is not, in fact, data.

It's just simply not true. The model may require, for structural reasons, the existence of a container, where there are no valid contents to put in it. In that case, a marker that indicates "no value here" is precisely the right thing to put there. And that, as others have said, is precisely what NULL is.

You may think there is a fundamental flaw in the SQL-relational model, but you have yet to demonstrate what it is.

>
> Regards,
> Mike.
>
Received on Sat Nov 26 2005 - 04:53:52 CET

Original text of this message