Re: Does Codd's view of a relational database differ from that ofDate&Darwin?[M.Gittens]
Date: 6 Jun 2005 21:46:48 -0700
Message-ID: <1118119608.554172.320570_at_g49g2000cwa.googlegroups.com>
> Most of the time, in database context NULL denotes, as you point out,
> the _absence_ of a value where you would expect one - still you are
> freely using "NULL value" as a special kind of value.
In fact, I don't think this is true. The SQL standard mostly takes the stand that NULL means "there is a value, but we don't know what it is." This is not the same thing as saying that there isn't a value.
If SQL's NULL was really the absense of a value, then 1+NULL would be 1. (The sum of a series of numbers that is one long is that number.) Instead it is NULL, which is consistent with "value exists but is unknown" and inconsistent with "the absense of a value."
In fact, it is my expectation that it would not be very hard to come up with a precise, useful, and not too hard to understand semantics for allowing the system to deal with "value absent." It doesn't appear to be possible to do this for "value not known" though; you get into this whole crappy 3VL space.
You probably still would like to have user-defined special values.
Marshall Received on Tue Jun 07 2005 - 06:46:48 CEST