Re: Date's First Great Blunder

From: Anthony W. Youngman <wol_at_thewolery.demon.co.uk>
Date: Fri, 23 Apr 2004 18:36:38 +0100
Message-ID: <E$ZGknFmQViAFw5Z_at_thewolery.demon.co.uk>


In message <pan.2004.04.20.21.59.42.601465_at_dutra.fastmail.fm>, Leandro Guimarães Faria Corsetti Dutra <leandro_at_dutra.fastmail.fm> writes
>Em Mon, 19 Apr 2004 22:40:56 -0700, Neo escreveu:
>
>> You can't prove a system to be correct by using
>> the system itself as a reference. You must use reality as a reference.
>
> A very interesting philosophycal issue.
>
> A system in itself isn't correct, but consistent. External
>consistency is what we usually call correctness. But a
>self-inconsistent or ill-defined system by definition can't be correct
>in a rational world.

Ummm ... I'd argue that an ill-defined system *can* be correct. But that's a judgement call - if an ill-defined system correctly returns an answer of "I don't know" then it is correct in a rational world - indeed - any real-world system incapable of returning "I don't know" MUST be wrong if we live in a rational world, because we're not omniscient.
>
> Now taking databases and their general data models as systems,
>SQL is inconsistent, as are the so-called OO, XML, network and
>hierarchical models, which are actually fuzzy generalizations stemming
>from implementations of programming methods, not data models. One
>could perhaps define a graph model, but it hasn't been done and would
>certainly result much less powerful and more complex than the
>relational model.
>

Have you any proof of that?
>
>> What exactly is RDM modelling
>> in the real world when it incurrs NULLs?
>
> NULLs aren't part of the RDM. Codd did include them, but they
>are not necessary and increase complexity too much. Special values in
>the relevant domains do the trick quite nicely.
>

I would agree here :-)

Codd included NULLs as an "I don't know". Take someone's age, for example. The obvious metadata in a "relational" database is to declare it as a number. But there are at least two non-numeric values, both of which have to be stored as NULL in a typical "relational" database, namely the intended meaning of NULL as "I don't know", and the alternate, "He's dead, Jim!".

Oh - and Pick can do this :-)

Cheers,
Wol

-- 
Anthony W. Youngman - wol at thewolery dot demon dot co dot uk
HEX wondered how much he should tell the Wizards. He felt it would not be a
good idea to burden them with too much input. Hex always thought of his reports
as Lies-to-People.
The Science of Discworld : (c) Terry Pratchett 1999
Received on Fri Apr 23 2004 - 19:36:38 CEST

Original text of this message