Re: A real world example
Date: Mon, 14 Aug 2006 13:44:56 GMT
Message-ID: <s7%Dg.44810$pu3.553247_at_ursa-nb00s0.nbnet.nb.ca>
anithsen_at_gmail.com wrote:
> "Brian Selzer" <brian_at_selzer-software.com> wrote in message
> news:MNCDg.8096$9T3.560_at_newssvr25.news.prodigy.net...
>
>>"Bob Badour" <bbadour_at_pei.sympatico.ca> wrote in message
>>news:fqmDg.39802$pu3.533163_at_ursa-nb00s0.nbnet.nb.ca...
>>
>>[snip]
>>
>>
>>>A natural key is simply a familiar surrogate. Nothing more. Nothing less.
>>
>>I disagree. A the value of a surrogate (at least according to Codd, and
>>also Date, if I recall correctly) should permanently identify something.
> The only way one can have an attribute whose values never change is by
> violating information principle.
How so? I agree that hiding an attribute violates the information
>>That has always been my understanding, and that has always been how I've
>>used the term. Natural keys can change and still refer to the same thing.
Selzer's understanding is flawed. I suggest he should try harder to use correct terms.
> Nothing in surrogacy suggests immutability of values.
Hear! Hear!
If one accepts Selzer's definitions of terms, then by definition nothing needs proof. However, his definitions of terms differ greatly from the generally accepted definitions, which makes any pretense of communication with him pointless.
Consider a relation schema that describes employees
>>and has two candidate keys, Social Security Number and Badge Number. If
>>an employee gets a new Badge Number because he lost his badge, does the
>>new Badge Number refer to the same employee?
The badge number logically identifies a badge and does so immutably. The attribute describing the employee merely describes the current assignment of a badge to the employee.
The answer is obvious: if it
>>didn't, then the fact that the Social Security Number didn't change
>>contradicts that.
Ironically, the idiot is too stupid to realize that SSN's are just as mutable as badge numbers. While one may not legally have two SSN's at the same time, transcription errors and identity theft mean SSN's do change over time from the perspective of the organization.
The definition of a candidate key guarantees that the
>>propositions in a single relation value are unique; therefore, a candidate
>>key value can identify a tuple
True.
, but only within a single relation value.
Bullshit. See foreign key references.
>>In order to span multiple database states, that value must be permanent.
Well, duh. This is why stability is an important design criterion for
choosing candidate keys. Saying that stability is an important design
criterion is a wholly unremarkable statement. If that is what the idiot
was trying to say, why didn't he just say it?
>>Codd understood this even if you can't get it through your head: I refer
>>you to the paper he wrote in 1979, "Extending the Database Relational
>>Model to Capture More Meaning."
>
> Perhaps you may want to read through the contradictions in Codd's RM/T
> paper.
> http://www.intelligententerprise.com/db_area/archives/1999/990106/online1.jhtml
Indeed. Thank you. Received on Mon Aug 14 2006 - 15:44:56 CEST