3vl 2vl and NULL
Date: Sun, 04 Dec 2005 17:44:03 GMT
Message-ID: <DVFkf.9201$N45.4611_at_newsread1.news.atl.earthlink.net>
I've stayed away from the 3vl versus 2vl discussion over in the monster NULL thread. Mainly, I'm not sure exactly what Codd and Date have to say on the subject. I think that both of them are smarter than I am, and that they don't agree on the subject, and that they agree that they disagree. That pretty much leaves it up to us, doesn't it?
Here's what I think: There are two Boolean constants: FALSE and TRUE. A boolean variable with a value must have one of these two values. I think that's the 2vl position, although I'm not sure.
Any variable, including a Boolean variable, might have no value assigned, in which case it's missing data. Systematic treatment of missing data requires some kind of treatment for this case.
Now, since the term NULL has produced so much controversy, I'm going to use
an alternate notation in this post. I'm going to use the marker "(no
comment)" to indicate a missing value. Now let's go through some cases,
in Q and A format.
Q: is 4 greater than 3?
A: TRUE
Q: is 4 equal to 4?
A: TRUE
Q: is 4 equal to 3?
A: FALSE
Q: is 4 greater than (no comment)?
A: (no comment)
Q: is (no comment) equal to (no comment)? A: (no comment)
Q: How much is 4 plus (no comment)?
A: (no comment)
From here you can draw whaterver inferences you like. There may be inferences you can draw by agreement between the writer and the reader. In this sense, NULL can be defined in whatever way is most useful, as Marshall Spight might say. But in terms of what has been SAID , regardless of what it might mean, all that's been said is NULL or, in my phrasing (no comment).
I think this boils down to Codd's position, but I'm not sure. Received on Sun Dec 04 2005 - 18:44:03 CET