Re: the two questions

From: Brian Selzer <brian_at_selzer-software.com>
Date: Mon, 26 Nov 2007 16:43:50 GMT
Message-ID: <aJC2j.77599$Um6.7922_at_newssvr12.news.prodigy.net>


"David Cressey" <cressey73_at_verizon.net> wrote in message news:c0B2j.11391$ht1.9324_at_trndny01...
>
> "Brian Selzer" <brian_at_selzer-software.com> wrote in message
> news:4di2j.48065$eY.11818_at_newssvr13.news.prodigy.net...
>>
>> "David Cressey" <cressey73_at_verizon.net> wrote in message
>> news:b3d2j.8985$r81.5790_at_trndny05...
>> >
>> > "Brian Selzer" <brian_at_selzer-software.com> wrote in message
>> > news:Dj92j.77429$Um6.17027_at_newssvr12.news.prodigy.net...
>> >>
>> >> "JOG" <jog_at_cs.nott.ac.uk> wrote in message
>> >>
> news:8505d954-cdc3-4bf8-9107-b307563be0e8_at_r60g2000hsc.googlegroups.com...
>> >> > On Nov 24, 12:38 am, vldm10 <vld..._at_yahoo.com> wrote:
>> >> >> Not long time ago on this NG there were few posts which involved an
>> >> >> entity with 200+ attributes.
>> >> >> Let all these attributes satisfy the following two conditions:
>> >> >> 1) All these attributes are mutually independent
>> >> >
>> >> > Then there are no functional dependencies so the entity can only be
>> >> > identified by the collection of all its attributes - and hence you'd
>> >> > end up with an equivalent superkey. If any of those attributes
>> >> > "change" it would also therefore be a different entity altogether.
>> >> >
>> >>
>> >> It cannot be determined whether two representations from two distinct
>> > points
>> >> in time refer to the same individual--even if all of the attribute
> values
>> >> are identical--unless, of course, one of the attributes is a
>> >> surrogate;
>> >
>> >
>> > Do you mean "surrogate" or "synthetic" ?
>> >
>>
>> I don't know what you mean by "synthetic." What I mean by a surrogate is
> a
>> value that always refers to a particular individual and can never refer
>> to
>> any other individual. How it comes into being is irrelevant.
>>
>> >
>
> The term "surrogate", as I have seen it used has the features you state.
> But a "surrogate key" also has two other features that you may or may
> not
> intend in this discussion. First, it is (or should be) never exposed to
> the users. Second, it is a substitute for some "real key" that is not
> used
> bacause the data source has incomplete knowledge concerning the real key,
> and this incomplete knowledge would cause a failure of identification in
> some situations.
>
> The term "synthetic key" is one I have only seen in this newsgroup. what
> it means, AFAIK, is a key that is just as visible as a natural key, but
> assigned to a particular individual, rather than being a natural
> attribute
> of that individual. So a person's fingerprints might be a natural key
> (provided it works as a key), but a person's "personal ID number" would
> be
> a "synthetic key".
>

The difference--and it is critical--is that the value of a surrogate key always refers to the same individual and can never refer to any other individual. This is not necessarily the case for a natural key nor a "synthetic key."

> I've also seen the term "artificial key" used in the same sense as
> "synthetic key".
>
> Anyway, the distinction I'm asking you to make is this: do the users use
> the value to refer to a particular individual, or does the system use it
> in
> this manner, under the covers? This distinction is meaningful, I believe.
>

I would have to say, "yes," the users can use the value to refer to a particular individual, provided the application developer chooses to permit it.

From a metaphysical standpoint, it is a rigid designator. It is a name, possibly arbitrarily assigned, that in the context of the entire discussion refers to one and only one individual. The important distiction is that the context of that name is not only a single database value but every possible database value.

>
>
>
>> >
>>
>>
>
>
Received on Mon Nov 26 2007 - 17:43:50 CET

Original text of this message