Re: a union is always a join!

From: Brian Selzer <>
Date: Sun, 22 Mar 2009 08:18:06 -0400
Message-ID: <50qxl.22730$>

Sorry for the delay in responding.

"Tegiri Nenashi" <> wrote in message
> On Mar 18, 6:25 pm, wrote:
> > I think that the delete/insert pair states that
> > there is a different thing with key p = 1, whereas the update states
> > that the thing with key p = 1 merely appears different. In other
> > words, the delete/insert pair describes two distinct things, whereas
> > the update describes two distinct appearances of the same thing. The
> > delete/insert pair,
> >
> > delete {(p=1,q=a)}
> > insert {(p=1,q=a)}
> >
> > states that there are two distinct things with exactly the same
> > components, just during adjacent intervals.
> Why do you need to identify "things"?

Because things are what is in the universe of discourse. (I didn't want to use the term "object" because it carries a lot of baggage that would distract from the point I'm trying to make. Apart from "object," "thing" is perhaps the most generic term for what can be discussed.)

> Unless you made a typo, please
> also note, that I'm not allowing arbitrary deletions and insertions.
> Insertions and deletions in my understanding are just differences
> between old and new state, and vise versa. Therefore, deleting and
> inserting the same relation {(p=1,q=a)} doesn't make any sense.

I didn't make a typo. I think that your characterization of insertions and deletions is incorrect. There are things in the universe of discourse that can appear different at different times. Twenty years ago I was fifty pounds lighter than I am now, but that doesn't mean that wasn't me. Each thing that persists travels a path through time, interacting along the way with various other things, and thus identity for things that persist must take into account the entirety of those paths, not just what appears in arbitrary or even adjacent snapshots of the universe along the way; therefore what serves to identify something can be different at different times, and similarly, what serves to identify something at one time may serve to identify something else at a different time. Whenever an employee forgets his badge, he is issued one of five temporary badges, so more than one of those temporary badges could serve to identify the same employee at different times, and also each of those temporary badges could serve to identify several different employees at different times. Consequently, one cannot logically conclude that whenever identifiers at different times are identical, the things that they identify are also identical, and therefore the fact that a particular tuple appears in successive states does not imply that the things referenced by the tuple at each state are identical. Clearly deletions and insertions are not just differences between states--at least not algebraic differences. Once one admits that there are things in the universe of discourse that can appear different at different times, the semantics of insert, update and delete become clear: insert describes the beginning of the path that something travels through time, updates describe milestones along the path that mark changes in appearance, and delete describes the end of the path. So a transition consisting of a delete and an insert that has no apparent effect on the database makes perfect sense because it describes the end of one thing and the beginning of another.

<snip> Received on Sun Mar 22 2009 - 13:18:06 CET

Original text of this message