Re: Joins with nulls

From: David Cressey <david_at_dcressey.com>
Date: Fri, 22 Nov 2002 16:31:34 GMT
Message-ID: <GZsD9.288$0I3.29844_at_petpeeve.ziplink.net>


> I am curious about the above point. I was under the impression that
> one of Codd's original rules was that a relation should be allowed to
> have an empty field. As such, any system that failed to have a
> systematic approach to Nulls fails to be fully relational. Certainly
> when I studied set theory, we discussed the Null set.

You are right. Codd's rule 3 requires a relational DBMS to have a systematic treatment of NULL values.

However, a mathematical relation has no concept of missing values. There is a value for every attribute in every tuple.

The Null set in set theory is not the same as a null field... a field containing no value. A table with no rows represents the null set. No problem here.

Nulls in databases result from outer joins. The decomposition that full normalization entails undoes all those outer joins, resulting in a database with no need for nulls at all.

In practice, I never try to push normalization that far. Most of my columns do not even have the NOT NULL constraint. Received on Fri Nov 22 2002 - 17:31:34 CET

Original text of this message