Re: Modeling question...

From: David BL <>
Date: Thu, 13 Nov 2008 00:19:00 -0800 (PST)
Message-ID: <>

On Nov 13, 12:23 pm, paul c <> wrote:
> David BL wrote:
> ...
> > A tuple that contains an attribute value than is an identifier outside
> > the UoD cannot represent a self-contained (ie independently
> > verifiable) fact on the UoD. ...
> I'd like to see an example, this sounds like some kind of rhetorical
> imaginary paradox to me.
> If I don't know the names of my great-great-great-great-great
> grandfathers, I would assign numbers or some kind of code to them. I
> couldn't guarantee that there were exactly 64 of them but I could be
> sure that I had at least one. However many of them, I don't see how
> those identifiers would fall outside of, say, a genealogy "UoD". Or do
> you mean something else?

I did mean something else, but I think it needs some rewording because I wasn't very clear. Let there be a relation

    father(X,Y) :- X is the father of Y.

Let there be a UoD in which bill,jane are identifiers for two particular humans. Then the tuple


is an independently verifiable statement of fact on the UoD.

Alternatively let there be relations

    age(X,N) :- X has age recorded by variable named N.     value(N,V) :- Variable named N has value V

where the scope of the variables in value(N,V) is regarded as local to the DB. Then the following tuple


is not independently verifiable by a domain expert (who will ask "what is n?" - because n is an abstract identifier).

With this last example I'm curious to know whether anyone would disagree with the idea that it's sometimes possible to interpret an identifier as a name for a variable. I know when I've suggested the idea that relations can represent variables and pointers to variables I've met with plenty of opposition - the argument I presume being that relation (values) only record tuple values, which in turn only record attribute values - so it's argued there can't be variables or pointers.

An interesting question: is there a practical example of the use of abstract identifiers (i.e. identifiers that fall outside the UoD) where they never appear as a candidate key in some relation? If so that would seem to defeat my argument that abstract identifiers can always be interpreted as names of variables defined in a scope within the DB. Received on Thu Nov 13 2008 - 09:19:00 CET

Original text of this message