Re: A pk is *both* a physical and a logical object.

From: JOG <>
Date: Mon, 23 Jul 2007 17:18:42 -0000
Message-ID: <>

On Jul 23, 3:57 pm, "Brian Selzer" <> wrote:
> [snip]
> I don't miss the point: I dismiss it not only because it is a gross
> oversimplification based upon faulty assumptions but also because it is
> incorrect.

I have no faulty assumptions, but feel free to try and knock something down specifically. It is good practice for me to defend a standpoint, even a solid one. However, as ever, I only post because I think I might be able to help.

> Although a key value identifies (or is a surrogate for) an
> individual in the Universe of Discourse, it is not correct to assume that
> the same key value identifies the same individual at every database value in
> which it appears.
> Here's proof: given a relation schema with two keys, one
> whose values rigidly designate individuals and one whose values represent
> non-rigid definite descriptions for individuals,

"non-rigid definite desciptions for individuals". This makes no sense, but this is probably a symptom of the points below.

> there can be a tuple in
> each of two possible relation values that has the same value for the rigid
> key, but different values for the non-rigid key.

Forget the database - it starts way before then brian, back in real life, when we are stating propositions about the item types of which we speak. It is how we can permanently identify these items when we talk about them that defines what they are. It has nothing to do with keys, which just identify propositions - by the time you get to the RM the mistake has already happened.

> Here each individual has
> two sets of identifying properties: one that identifies the individual at
> all possible states of affairs and one that identifies the individual at a
> particular state of affairs.

Utterly and totally incorrect. A construct that is one thing (i.e. has the same identity) "over all its possible states" is a completely different kettle of fish to an item which is only the "same thing in one state". They are different constructs, with different identifiers - even if they overlap.

(This explains how I am both the same person _and_ a different person to the picture of me as a ten year old. The concept of a person type has two different constructions, with different identifers. I can quickly flick between the two interpretations in real life by assessing the context of any particular question)

Which of these constructs is applicable depends on the context, situation and application. If you have picked the wrong one when you are designing a schema, well then, eventually your database will break (as I know you have seen and remedied yourself in the past).

I think this is pretty much the whole sticking point so for now i have snipped the rest.

Regards, Jim.

> [huge snip]
Received on Mon Jul 23 2007 - 19:18:42 CEST

Original text of this message