Re: Proposal: 6NF

From: Hugo Kornelis <hugo_at_perFact.REMOVETHIS.info.INVALID>
Date: Thu, 05 Oct 2006 23:59:03 +0200
Message-ID: <rqvai2pjriqh2hpdqt95kunfit0voq2ibt_at_4ax.com>


On Fri, 6 Oct 2006 00:21:17 +0300, Sampo Syreeni wrote:

>On 2006-10-05, Bob Badour wrote:
>
>> So, you are saying that laying zero eggs includes the inapplicability
>> of the whole concept of laying anything. If zero suffices, why NULL?
>
>Because a bird that has laid zero eggs might then be observed to lay
>more, and we would want to assign a nonzero value to its eggs_laid. With
>camels it's different.

Hi Sampo,

So basically you are saying that you want to store the fact that a bird is able to lay eggs and a camel is not. A proposition such as

        "<Birdtype> is <YesOrNo> able to lay eggs."

In that case, you should model it as such - in a relational table, you add a column "CanLayEggs" with a domain consisting of the values Yes and No.

Don't try to make NULL mean "there may not be a value here" - it doesn't mean that. The *only* meaning NULL has is "value is missing". If you are interested in the reason why a value is missing, you should model a proposition to store that reason.

Best, Hugo Received on Thu Oct 05 2006 - 23:59:03 CEST

Original text of this message