Re: 4 the FAQ: Are Commercial DBMS Truly Relational?
Date: Sun, 10 Oct 2004 23:30:13 -0400
Message-ID: <YL6dncafQpbLY_TcRVn-ow_at_comcast.com>
"Marshall Spight" <mspight_at_dnai.com> wrote in message news:6hmad.235847$3l3.143944_at_attbi_s03...
> Exactly!!!
>
> One big beef I have with NULLs: their meaning is overloaded.
> Is it "missing?" Is it "not applicable?" If we take the approach
> of not having a special NULL, but instead allow zero-cardinality
> things, and also allow the creation of, say, enumerated types,
> then the data model can model whatever it needs to, and the
> algebra can stay pure.
The meaning of NULLS is overloaded as soon as you impute any meaning at all
to it, other than
"no data here".
That is why I keep coming back to the curious incident of the dog in the night. Holmes draws an inference from the fact that the dog did nothing in the night. His inference is, of course, based on a whole lot of real world knowledge about dogs in the night, and about all of the other circumstances of the case.
But, in a database, drawing inference from that absence of data is supposition, unless the inference is documented somewhere!
Consider a row that is absent from a table. We look up in an employees table for someone with first name HARRY and last name TRUMAN. We come up with zero rows. We draw the inference that Harry Truman doesn't work for the company because of the biz rule that says that every employee has a row in the table.
But suppose we look in a "Contacts" table for an e-mail address of farfle_at_farfle.com and come up with zero rows. We aren't going to infer that there is no such e-mail address, because the contacts table isn't presumed to be comprehensive.
It's really the same with NULLS. All it is data that isn't there. Everything else is inference. Received on Mon Oct 11 2004 - 05:30:13 CEST