What does this NULL mean?
Date: Sat, 10 Dec 2005 21:32:30 +0000
Message-ID: <mG8LO6Gul0mDFwjR_at_deptj.demon.co.uk>
The number of long threads about NULLs indicates that they are a source of difficulty and disagreement.
I have been prompted to start yet another by the www.dbdebunk.com quote
of the week for December 10, 2005 . It says
"There have been, there are, and there
always will be NULLS in the real world."
and is attributed to "Pete Brown, dbmonster.com", but it is from a
comp.databases.theory thread "Does Codd's view of a relational database
differ from that of Date & Darwin?" on June 4, 2005 .
At the time, I followed up with a request for a definition and examples,
but I never pursued the answer I got (which I thought less than
satisfactory). My favourite bit out of the rest of the thread was from
Ged Byrne, who said
The best way to look at a NULL is as a sort of denormalisation. If we have a table X {A, B, C} where A is the key, B is a column we are not currently interested in, and C is the column which is NULL in at least one row, then we are really talking about two tables X1 {A, B} and Y {A, C}, where at least one row in X1 does not have a corresponding row in Y.
(This is like vertical decomposition in
http://web.onetel.com/~hughdarwen/TheThirdManifesto/Missing-info-without-
nulls.pdf)
All this situation is telling us is that there is no C value in the
database for this value of A. It does not matter how many possible
reasons there are for the existence of this situation (the
unsatisfactory answer I referred to above), we do not know why there is
no value. Actually presenting lots of possible reasons was a very bad
There is no such thing as an acceptable implementation of NULL, because each occurrence of a potential NULL in a database design may have many possible reasons, each of which must be represented in the database somehow. There is no guarantee that there is a single form of representation for each of the reasons, and hence no general way of implementing a NULL.
-- Eric JunkermannReceived on Sat Dec 10 2005 - 22:32:30 CET