Re: Date's First Great Blunder

From: Leandro Guimarães Faria Corsetti Dutra <leandro_at_dutra.fastmail.fm>
Date: Wed, 21 Apr 2004 11:35:40 -0300
Message-ID: <pan.2004.04.21.14.35.39.215496_at_dutra.fastmail.fm>

Em Tue, 20 Apr 2004 23:02:07 -0700, Neo escreveu:

> If NULLs are not necessary and increase complexity too much, why doesn't
> Date drop the chapter on NULL/Missing Information?

From which book?

Furthermore, NULLs do not equal missing information. He does deal with missing information quite nicely, with the proposal to include special values into each domain needing them.

> Within the common scope where reality provides all the values for a tuple,
> no NULLs are incurred. For cases where, reality can't provide all values
> of a tuple, a NULL would be incurred unless that column is moved to a
> seperate table. In the extreme case, reality could fail to provide a value
> for any column, thus all columns of a relation would need to be in
> seperate tables to avoid NULLs. The net result: NULLs are common and are
> impractical to avoid in RDM implementations.

Looks like you never understood the special values proposal.

```>> Special values in the relevant domains do the trick quite nicely.
```

>
> Suppose you have the special values "UNKNOWN", "UNAVAILABLE", etc. If
> john's age is the special value "UNAVAILABLE" and mary's age is the
> special value "UNAVAILABLE" is john's age equal to or not equal to mary's
> age? Since the values are the same, some would say they are equal. Since
> the values indicate unavailable, others would say the answer is unknown,
> thus resulting in 3VL.

The first ones would have a simple, but not quite correct system.

The second ones would have a more complex system than 2VL, but still much simpler and more consistent than one using NULLs.

I could be missing something here, been sometime since I've been reading on this.

> Per Date, Intro to Db Sys, "3VL suffers from the very serious
> ('showstopper') problem that it does not match reality - that is, results
> that are correct according to 3VL are sometimes incorrect in the real
> world. NULLs and 3VL undermine the entire foundation of the relational
> model."

I do think he's mixing things here.

3VL does indeed complicate things a lot, but isn't incorrect in itself, obviously. The problem with NULLs is that it is not even 3VL, it is not flexible -- quite like XML, OO, hierarchies and networks vis-à-vis graphs.

```--
Leandro Guimarães Faria Corsetti Dutra           +55 (11) 5685 2219
Av Sgto Geraldo Santana, 1100 6/71               +55 (11) 5686 9607
04.674-000  São Paulo, SP                                    BRASIL
http://br.geocities.com./lgcdutra/
```
Received on Wed Apr 21 2004 - 16:35:40 CEST

Original text of this message