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

From: Hugo Kornelis <hugo_at_pe_NO_rFact.in_SPAM_fo>
Date: Fri, 18 Nov 2005 22:50:06 +0100
Message-ID: <vnisn19bo211t7bln0qc8dril0tk4eknat_at_4ax.com>


On 17 Nov 2005 16:59:19 -0800, JOG wrote:

(snip)
>> [snip]
>> A') The dog's colour is black
>> B') The dog's colour is
>>
>> And that is where most people are tempted to finish the sentence with
>> "unknown" - but there's no guarantee that they are right when they do
>> so.
>
>eh? If you can't finish sentence b, then the only fact that you _can_
>possibly state is that the dogs colour is unknown (or rather the dog
>has an unknown or inapplicable property). Leaving a blank means you are
>not fulfilling the tables predicate, and the haemoragged tuple hence
>has no place being entered at all.

Hi JOG,

Exactly. The choice to represent all information in one single table tempts us to think that every cell represents a fact. But once we start to pronounce the fact, the absence of a value in the cell makes it impossible to finishe the sentence in a grammatically correct way. That is a clear indication that the fact we started to pronounce is missing from our data, and that we better had not started to pronounce it.

Splitting the data over multiple tables makes it much easier to choose a representation for the data that doesn't tempt us to think facts are present that in reality are not. (See my first post in this thread for a detailed example).

In the heart of the matter, both ORM, FCO-IM, and other NIAM derivates and The Third Manifesto do exactly this - spread data over more tables, so that we can represent absence of data by leaving out a row instead of by inserting a NULL in a column.

Best, Hugo

-- 

(Remove _NO_ and _SPAM_ to get my e-mail address)
Received on Fri Nov 18 2005 - 22:50:06 CET

Original text of this message