Re: A real world example

From: Keith H Duggar <duggar_at_alum.mit.edu>
Date: 15 Aug 2006 16:52:31 -0700
Message-ID: <1155685951.008054.41480_at_m73g2000cwd.googlegroups.com>


JOG wrote:
[snip excellent post]

It's interesting. I came to a similar conclusion back when Brian responded to my question. Ie that it's either a poor choice of "universe" or an attempt to redefine the RM notion of "identity". I wrote this long reply then decided it was too metaphysical to belong in cdt so I didn't post. But what the hell, it's written might as well post it. Feel free to ignore what lies below.


The bulk of your post was a philosophical and metaphysical discussion. While this helped me understand (I think) your points it does not constitute a "real-world example". Can you please provide a real-world (though perhaps cleaned and simplified) example? No rush but when you have time I think it will help clarify some of your concerns.

Brian Selzer wrote:
> Keith H Duggar wrote:
> > > My point is that here is a real-world example where the
> > > universes of two databases overlap, but the set of
> > > attributes used to identify something common to the two
> > > universes is different for different databases.
> >
> > So isn't the actual problem that the databases employ
> > different models of the same data? In other words, it
> > seems in that example (and in "the" problem), that the
> > problem is not different /values/ but different
> > /models/?
>
> No. It's not the data that's the same: it's that the
> things that the data is about are the same.

The terms "universe", "overlap", "something common", and "things" are all very unclear to me. By "universe" do you mean a "relation universe" as in the set of all relations matching the given headers? By thing do you mean a tuple? Or do you mean some metaphysical concept? etc. Perhaps using clearer or more formal language would be helpful.

> A database contains information about things in the
> universe. In a relational database, this information is
> organized into relations, but that doesn't change the fact
> that each proposition describes things in the universe.

Again what universe? If this is a philosophical discussion of how the relational model fairs when modeling a particular notion of the physical or metaphysical /Universe/ (capital U there) then I think you should first expound more accurately your philosophical position.

For example:

> The problem is that a thing can have multiple sets of
> identifying properties, that some of these identifying
> properties can have different values in different
> situations, and that when propositions about a thing refer
> to it by using identifying properties that can be
> different in different situations, there's not enough
> information available to know that you're talking about
> the same thing.

If here by "thing" you are referring to metaphysical things then the notions of identity I'm familiar with are firstorder  and second-order variations of Leibniz identity (ie x is y if all that is true of x is true of y). In this case it makes no sense to claim "a thing can have multiple sets of identifying properties" since identity is the value of /all/ properties.

If by thing you mean mean tuple then the set theoretic definition of identity is again the obvious Leibniz "all elements (or attributes) are identical". On the other hand and if I understand correctly, the relational model uses a weaker notion of identity based on a /primary key/? That is identity is determined by a subset of attributes holding as a /candidate/ key and designated /primary/. So in this case, by definition there is one and only one "set of identifying properties", the /primary key/.

Is this correct? If so then I admit I'm confused as to what precisely the primary key identifies. I sorta understand the "guaranteed access rule" from an "access" perspective but not an "identity" perspective. It seems either a little physical to me or if a primary key "identifies" a tuple then I'm having trouble escaping the usual Leibniz notion.

Finally, much of your previous discussion has focused on identity over time: both diachronic and more recently synchronic. You seem to take a perdurance perspective. That is "things" have an identity over all time that /persists/ over time. Hence your language such as "how can we tell if they /are the same thing/". However, logically this view requires that time is essentially yet another property. This fits well in the RM if you store time as an attribute. Ie something like a log file that has already been suggested to you before. However, by either Leibniz or key identity the tuples cannot be "the same thing" and hence the "thing" that you are "identifying" must become a set of tuples not a single tuple. Example in plain language I Keith am the set off all my states past present and future.

If you do not maintain time as an attribute then since a relation is set, only a single /present/ time slice of the entities entirety is ever present. Hence the RM simply does maintain the complete perdurance concept of identity you hold unless time is an attribute.

So in RM it seems either you need to store time as an attribute or ditch the concept that "things" have identity beyond their key. Thus the tuple is the "thing". You could see these tuples as "temporal parts" of a "thing" that the database never actually holds in it's entirety. This is the endurance concept of diachronic identity. Though this is the "usual" way people view time as a "special" dimension over which "things" can change yet maintain a meta-identity, it simply does not seem to fit well in the RM given that the "thing" cannot be an element of a relational domain lacking a time attribute and hence cannot be discussed.

  • Keith -- Fraud 6
Received on Wed Aug 16 2006 - 01:52:31 CEST

Original text of this message