Re: Does Codd's view of a relational database differ from that ofDate&Darwin? [M.Gittens]

From: Alexandr Savinov <savinov_at_host.com>
Date: Tue, 07 Jun 2005 18:48:19 +0200
Message-ID: <42a5cfe5$1_at_news.fhg.de>


Paul schrieb:
> Alexandr Savinov wrote:
>

>>To say "if NULL means unknown" is the same as to say "if 0 is equal 1"
>>or "if empty set is full set". Unknown and null are two different things
>>and deserve to have to special designations.
>>
>>NULL means absence
>>UNKNOWN means presence with unknown identity

>
>
> I don't think NULL should mean absence.
>
> As an example, consider storing middle names. Some people don't have
> middle names. But I think it would be good practice to store an empty
> string for people without middle names, and reserve NULLs for people
> whose middle name is unknown, whether or not it exists.
>
> So NULL means unknown, irrespective of whether it's present or absent.
>
> This is presupposing you want to have NULLs in the first place, which is
> another question altogether.
>
> Paul.

I meant that there are two basic interpretations:

  1. as an absence of item (it is skiped from aggregates)
  2. as a present but unknown item (it brings uncertainty in aggregates)

They are basic because they can be formally described. And then we need at least to distinguish them, i.e., we cannot say "if 1. is 2".

The second question as you correctly noticed is what kind of behavior we would like to have in our database. Here I would accept different opinions and solutions but have to be consistent. If we say that special value X means absence then the values have to absent for *all* aggreagtion function rather than SUM will skip the value while COUNT will take it into account.

-- 
alex
http://conceptoriented.com
Received on Tue Jun 07 2005 - 18:48:19 CEST

Original text of this message