Re: 3vl 2vl and NULL

From: Hugo Kornelis <hugo_at_perFact.REMOVETHIS.info>
Date: Thu, 12 Jan 2006 23:28:35 +0100
Message-ID: <1nlds1p132e6hji90uje2uj87jq38bjvfh_at_4ax.com>


On Mon, 26 Dec 2005 14:07:37 GMT, David Cressey wrote:

>
>"Hugo Kornelis" <hugo_at_pe_NO_rFact.in_SPAM_fo> wrote in message
>news:h6cuq1ht2fgsd2cop0fra4gvilurtqepmo_at_4ax.com...
>
>> No NIAM person and no SQL person would (or rather: should) ever think of
>> using just one proposition and choose to interpret NULL as "Age
>> unknown". That would be storing two data points (age in years and age
>> known/unknown status) in one column - a clear violation of 1NF.
>
>Hugo,
> I'll wait patiently for your response. Hope you had a nice rest!

Hi David,

The wait turned out to be much longer than expected. Sorry for not replying sooner.

>
>Consider the following two propositions:
>
>There exists a family member, known as Uncle Fred, about whose age (if any)
>nothing has been said.
>
>AND
>
>Every family member has an age.
>
>I claim that the following proposition follows logically from the above:
>
>Uncle Fred's age is unknown.
>
>But notice that it's an inference, and not necessarily a message
>communicated by the author of the NULL.

Agreed.

>
>I'm going to claim that the first of the two propositions is a correct
>reading of a NULL in the age column, in the row uniquely determined by
>"Uncle Fred".

Agreed.

>
>I'm going to claim that the second proposition is a fact about the model of
>the universe of discourse, and not a fact within the universe of discourse.
>In other words, to assert a proposition that conflicts with "every family
>member has an age" is tantamount to altering the model of the universe of
>discourse.

For a database about family members and their age, I can agree with this as well.

>
>I'm going to suggest that, in the "real world" of SQL (or any other such
>tool), "every family member has an age" is reflected in one of two ways:
>
>As metadata in the database.
>
>OR
>
>As a tacit convention (perhaps documented somewhere) among all the software
>that manages data about ages.

Agreed. But only IF the "every family member has an age" applies (which it would not necessarily in all databases).

>
>If you alter this metadata, or alter the tacit convention, you are altering
>the model of the universe of discourse.

Agreed.

Oh dear. You've had to wait for my reply for almost three weeks, and now we find nothing to disagree on. What a shame! ;-)

Best, Hugo Received on Thu Jan 12 2006 - 23:28:35 CET

Original text of this message