Re: Little design mistakes that can be easily avoided (2): Listenning to CELKO (and CELKO alikes)

From: Matthias Klaey <mpky_at_hotmail.com>
Date: Mon, 28 May 2007 01:14:49 +0200
Message-ID: <5f2k53pq5srphk68s1op58udei9h60stuo_at_4ax.com>


"Brian Selzer" <brian_at_selzer-software.com> wrote:

>
>"Matthias Klaey" <mpky_at_hotmail.com> wrote in message
>news:bipi53pjf51gluul6b3b8uv86kbq7hanse_at_4ax.com...
>> Cimode <cimode_at_hotmail.com> wrote:
>>
>>>
>>>Matthias Klaey a écrit :
>>>> Cimode <cimode_at_hotmail.com> wrote:
>>>>
>>>> >On 26 mai, 18:18, Matthias Klaey <m..._at_hotmail.com> wrote:
>>>> >> Cimode <cim..._at_hotmail.com> wrote:
>>>> >> >Hi,
>>
>> [...]
>>
>>>> ><<Codd also wrote the following:
>>>> >There are three difficulties in employing user-controlled keys as
>>>> >permanent surrogates for entities.>>
>>>> >Again that Codd ? Who's Codd anyway?
>>>>
>>>> Surely you must be joking?
>>>Never joking. Asking questions and trying t make sense out of CELKO's
>>>posts.
>>
>> Then it's time for a short history lesson. Edgar F. Codd was the
>> inventor of the relational model (RM). You might start with
>>
>> http://en.wikipedia.org/wiki/Edgar_F._Codd
>>
>> and take it from there. Most important is
>>
>> http://en.wikipedia.org/wiki/Codd%27s_12_rules
>>
>> (Unfortunately the two Computerworld articles where Codd first
>> described his rules do not seem to be available online).
>>
>> You can download Codds very first paper on the relational model under
>>
>> http://www.klaeycomputing.com/Codd/Codd1.pdf
>>
>> and the paper cited by Celko under
>>
>> http://www.klaeycomputing.com/Codd/Codd2.pdf
>>
>
>If you've studied it, they you know that Celko's failed to mention the last
>paragraph of section 4, which is in direct contradiction to his rant. I've
>pointed this and other things out to him before, but he still dumps the same
>flawed argument on people all the time. In other words, he *knowingly*
>mischaracterizes Codd's position to advance his own agenda. (He wants
>people to buy his books!)

Codds first paper "A relational Model of Data for Large Shared Data Banks" (Communications of the ACM Vol 13 No 6, June 1970, 377-387) has "chapters"

  1 "Relational Model and Normal Form" and   2 "Redundancy and Consistency"

with sections numbered 1.1 to 1.4 and 2.1 to 2.4.

The second paper "Extending the Database Relational Model to Capture More Meaning" (ACM Transactions on Database System, Vol 4, No 4, December 1979, 397-434) is numbered in "chapters/sections" from 1 to 17.

So please which one is your section 4? Do you refer to Paper 1, Section 1.4, last paragraph

   "If the user's relational model is set up in normal form,    names of items of data in the data bank can take a simpler    form than would otherwise be the case. A general name    would take a form such as

     R (g).r.d

   where R is a relational name; g is a generation identifier    (optional); r is a role name (optional); d is a domain name.    Since g is needed only when several generations of a given    relation exist, or are anticipated to exist, and r is needed    only when the relation R has two or more domains named    d, the simple form R.d will often be adequate."

Or this one? Paper 1, Section 2.4 last paragraph

   "Many questions are raised and left unanswered. For    example, only a few of the more important properties of    the data sublanguage in Section 1.4 are mentioned. Neither    the purely linguistic details of such a language nor the    implementation problems are discussed. Nevertheless, the    material presented should be adequate for experienced    systems programmers to visualize several approaches. It    is also hoped that this paper can contribute to greater precision    in work on formatted data systems."

Or this one? Paper 2, Section 4 last paragraph

   "They will have to remember, however, that it is now the surrogate    that is the primary key and provides truly permanent identification    of each entity. The capability of making equi-joins on surrogates    implies that users see the headings of such columns but not the    specific values in those columns."

And how, specifically, does any of these paragraphs contradict Celkos "rant" (sic!)? Does it contradict the whole of it, or just part of it, and if the latter is the case, which part?

Or are you talking about something completely different?

Greetings
Matthias Kläy

-- 
www.kcc.ch
Received on Mon May 28 2007 - 01:14:49 CEST

Original text of this message