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

From: Paul <paul_at_test.com>
Date: Mon, 06 Jun 2005 11:24:42 +0100
Message-ID: <42a4246c$0$41930$ed2619ec_at_ptn-nntp-reader03.plus.net>


Alexandr Savinov wrote:
> Nulls are equivalent of empty set (absence, hole etc.) and I can imagine
> a model without any other elements but not without nulls. In other
> words, null is what any model starts from and after that we can add any
> other non-primitive elements we want to see :-) Those other elements may
> pollute the model or may be argued to be unnecessary but not null
> values. Since nulls play such a role they are actually not true
> "values"( in the sense we use "normal" values, say, 5, 10 or "some text").

I don't think the NULL or empty set of set theory is exactly the same as the NULL of relational database theory.

After all, simple arithmetic is often built starting from the NULL set, with it playing the part of zero, which is a value.

The "set" metaphor in RDBMS terms is more like table=set, row=member_of_set. So a set theory kind of NULL would more correspond to a table with no rows.

And each row represents a logical proposition, and standard first order predicate logic is two-valued.

Sure, everything can ultimately be based on set theory and the empty set, but it makes sense to use more advanced structures (like predicate logic) where necessary and forget about any fundamental construction.

Also, there are different types of missing values, and these are specific to the domain, not universal, so it makes sense to have them modelled as part of a domain. Aggregate functions may want to deal with different types of NULLs in different ways (e.g. Unsalaried vs. Salary Unknown).

Paul. Received on Mon Jun 06 2005 - 12:24:42 CEST

Original text of this message