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

From: Alexandr Savinov <savinov_at_host.com>
Date: Thu, 09 Jun 2005 11:54:33 +0200
Message-ID: <42a811ed_at_news.fhg.de>


Jon Heggland schrieb:
> In article <42a6eb89$1_at_news.fhg.de>, savinov@host.com says...
>

>>So I find NULL and empty set formally equivalent.

>
>
> The empty set is equal to itself, and it has a type---set (loosely
> speaking). Is NULL equal to itself? (It is not in SQL.) What is its
> type?

I would prefer not to distinguish NULL and empty set because I do not find enough reasons for that. And I would prefer NULL to be untyped. It is a variable that may have a type while NULL is a value that can be assigned to any variable of any type including relvars.

There might be the following situations where we would like to distinguish between

The reasons for having such a distinction might be 1. theoretical, and
2. practical

 From practical point of view it is clear: we always have things to be more informative and therefore we overload the existing values (including NULL) with additional inappropriate meaning, for example, NULL as an error, or try to inroduce new special values like empty set, empty salary, salary is not yet computed etc.

But it would be very interesting to know what fundamental reasons might exist for separating NULL as a variable value and empty set as a collection without elements. For example, do we really need to have different meaning for:
1. some_relvar = NULL, and
2. some_relvar = {}

How do you think? What is the fundamental difference between these two lines of code and do we loose a lot if we retain only the first one (with the meaning of the second)?

-- 
alex
http://conceptoriented.com
Received on Thu Jun 09 2005 - 11:54:33 CEST

Original text of this message