Re: Pizza Example

From: Anthony W. Youngman <>
Date: Thu, 15 Apr 2004 21:51:08 +0100
Message-ID: <>

In message <hARcc.51781$>, Eric Kaun <> writes
>"Anthony W. Youngman" <> wrote in message
>> The problem I see with relational, is that it does not cope with -
>> indeed, denies the existence of - emergent complexity.
>I'll address the specific example below, but what does this mean in general?
>> For example,
>> there is no way for the DBMS to know (or record the fact) whether a
>> table represents a "noun" or a "repeating adjective".
>What difference does it make?

>> Seeing as nouns
>> and adjectives are fundamentally different in language, I would have
>> thought the inability of a DBMS to distinguish between the data
>> equivalents would be a serious handicap...
>The DBMS also can't distinguish past tense from present perfect tense. So
>what? What does the "data equivalent" mean?

I was thinking in terms of EAR - entity attribute relationship. How does the database know the difference between a table that describes an entity, and a table that describes a complex attribute of that entity (that has to be in a separate table because an entity can have multiple instances of it).

It's all very well saying data about my fingers (of which I have ten) is different from data about me (of which there is only one), but by storing the data in different tables, the database has lost the information that the fingers and the rest of me are all one thing. (And you can't repeat the "finger" attributes ten times because not all people have ten fingers - some people have lost them and some people have extra ones...)
>Your argument seems to be that because the relational data model doesn't
>mirror language in its fundamental structures, that it's "fundamentally
>unable" to distinguish between several different things that need to be
>distinguished. Assuming that one could model the vagaries of human language
>(which might be doubtful), I don't see why relational would do a worse job
>than other data models. How does MV do so?

I wasn't trying to model language, I was just making the point that language has words that represent something that has physical existence (nouns), and words that describe what that existence is like (adjectives). Relational theory uses tables to do both these tasks, and has no way of telling which task any individual table is fulfilling.

Okay, MV can't tell for certain, but it's a fairly safe bet that any random table is fulfilling the "noun" role not the "adjective" role. And, for example with optimisation, if you gamble on that being the case then you will win big nine times out of ten.


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 Thu Apr 15 2004 - 22:51:08 CEST

Original text of this message