Re: NULLs: theoretical problems?

From: paul c <toledobythesea_at_oohay.ac>
Date: Wed, 08 Aug 2007 23:16:15 GMT
Message-ID: <39sui.44076$rX4.4414_at_pd7urf2no>


Hugo Kornelis wrote:
> On Wed, 08 Aug 2007 20:42:52 GMT, paul c wrote:
>

>> Hugo Kornelis wrote:
>>> ...
>>> The ANSI standard defines NULL as follows:
>>>
>>>   "null value: A special value that is used to indicate the
>>>    absence of any data value."
>>>
>>> Thus, the only concept collapsed into NULL is that of "no value here".
>>> ...
>> Thanks for a great quote.  The notion that that there is a value that 
>> conveys that the value is not a value suggests that the SQL committee 
>> has its fair share of mystics, too.  Either that, or they are not 
>> required to read what they write.

>
> Hi Paul,
>
> <nitpicking>
> The ANSI text doesn't define "the null value" (as they call it) as a
> value that conveys that the value is not _a_ value, but as a _special_
> value that conveys that there is no _data_ value.
> </nitpicking>
> ...

Heh, the Emperor's new clothes were special too!

> Personally, I never call NULL a value, and I prefer to describe NULL as
> a "marker that indicates the absence of any value". But I couldn't
> really write that and still claim to be citing ANSI, eh?
> ...

I believe Codd also called them special marks or markers which has made me wonder more than once if he really was talking about a physical recording level but I usually got stuck on how to see some reasonable equivalence between a physical recording that conveyed such marks and the presentation of a logical relation that didn't. I still sometimes wonder about using empty sets instead of nulls but can't yet see that it wouldn't have the same sticking point.

>> Another paradox is the db that is based only on values, except when it's 
>> not.

>
> IMO, a db is not based on values but on predicates. Combinations of two
> or more columns from a single table can be read as sentences, with the
> fixed part of the sentence implied by the schema and the design
> documents, and the variable part of the sentence filled in with the
> values in the columns.
> ...

I like what Date or Darwen said somewhere, it was akin to "values are what we talk about, sentences are what we say about them". At one time, long before reading it, I used to say something like that to customers, thinking that it was dirt simple enough for my naive customers (I had no other kind) to understand. I was often wrong about that but did make more money because of it and when I did read it coming from those guys, I felt quite smart. I do think that there is a frequent need by most users for such simple homilies even if they diminish the value of consultant rates in the minds of some users.

I think I'm on the same page as you when you say on your blog something to the effect that the presence of a single null suggests at least two predicates or "sentences". If the null marker is justified in the first place by a requirement, then I'd say that the requirement isn't satisfied with a single "sentence". Once you have buggered the requirement, the rest will be a messy waste of time.

p Received on Thu Aug 09 2007 - 01:16:15 CEST

Original text of this message