Re: Relation Schemata vs. Relation Variables

From: JOG <jog_at_cs.nott.ac.uk>
Date: 7 Sep 2006 09:40:04 -0700
Message-ID: <1157647201.833023.298400_at_h48g2000cwc.googlegroups.com>


Brian Selzer wrote:
> "JOG" <jog_at_cs.nott.ac.uk> wrote in message
> news:1157554419.796440.287750_at_e3g2000cwe.googlegroups.com...
> > Bob Badour wrote:
> >> JOG wrote:
> >> > Brian Selzer wrote:
> >> >
> >> >>"Jan Hidders" <hidders_at_gmail.com> wrote in message
> >> >>news:1157532864.768886.10750_at_d34g2000cwd.googlegroups.com...
> >> >>
> >> >>>Brian Selzer wrote:
> >> >>>
> >> >>>>"Jan Hidders" <hidders_at_gmail.com> wrote in message
> >> >>>>news:1157457516.222077.154380_at_b28g2000cwb.googlegroups.com...
> >> >>>>
> >> >>>>>Sets of facts can and do change, and transitional constraints
> >> >>>>>restrict
> >> >>>>>wich transitions from one set of fact to another are allowed. I
> >> >>>>>don't
> >> >>>>>see a fundamental problem here. Note btw. that they are a strict
> >> >>>>>subclass of the restrictions that might be expressed by some kind of
> >> >>>>>temporal logic.
> >> >>>>
> >> >>>>I don't understand what you mean. Are you saying that transition
> >> >>>>constraints can be expressed as state constraints?
> >> >>>
> >> >>>A transitional constraint is a binary predicate over states. One
> >> >>>argument is the old state and the other the new state. Or, put in
> >> >>>another way, a transition constraint constrains the transitions. This,
> >> >>>I would say, is pretty much the definition of the term.
> >> >>>
> >> >>>Or did I misunderstand your question and are you asking about temporal
> >> >>>logics?
> >> >>>
> >> >>
> >> >>No. I just wanted to be sure that we're on the same page.
> >> >>
> >> >>The point that I was making in the original post is that because keys
> >> >>can
> >> >>change, there isn't enough information given only the old state and the
> >> >>new
> >> >>state to pair up the values in the old state with those in the new
> >> >>state for
> >> >>comparison.
> >> >
> >> > You cannot pair up values David. You can only compare the sets as a
> >> > whole.
> >>
> >> I think you misspoke. I draw your attention yet again to Date's
> >> _Principle of Incoherence_: "It is very difficult to respond coherently
> >> to that which is incoherent."
> >
> > guilty as charged. Very difficult indeed. I'll rephrase:
> >
> > There is no transition between individual tuples in different relation
> > values Brian, and it is illogical to try and compare them as if there
> > were. There is only a transition from one set of tuples to another, as
> > a whole. (This is because, as a variable, a relvar posesses an identity
> > outside of its current value).
> >

>

> That's interesting. Today I dug out my old copy of Date's "An Introduction
> to Database Systems, Seventh Edition," and on page 256-257 he describes
> transition constraints exactly as I understand them, and although he doesn't
> address the issue of "key updates," he writes about joining S and S' and
> picking out the tuples that violate a particular constraint. In addition,
> his description hasn't changed since 2000, because he describes them in
> exactly the same way in "Database in Depth" on page 130. So, if my
> understanding of transition constraints is faulty, then so is Date's.

Rubbish. His views of a transition constraint are totally in line with my own. He correctly treats the two relations states (before and after) in terms of sets S and S`, which are joined given the specified constraint, requiring that the resulting relation is empty. Vitally this has nothing /at all/ to do with examining individual tuples as though they were variables, and everything to do with the examining the sets as a whole.

> I don't think that pairing up tuples for comparison is illogical at all.

Comparison of tuples is totally illogical if you do it in any manner other than comparing the tuples' attributes.

> What is illogical is expecting R join R' to give consistent results without
> object identifiers or tuple identifiers.

No matter how many times you repeat this it is still reads as nonsense. A tuple is not a variable.

> What is illogical is discarding
> information supplied by the user in order to fit what are obviously more
> expressive modification operations into the mold of relational assignment.
> What is illogical is assuming that keys won't change.
>
> I really don't understand what you mean about a variable having identity.

Well I'm suprised because this is fundamental stuff. A relvar is a variable and so can change its value, a proposition is not and so cannot change, only created or deleted.

>

> >>
> >> One can pair up values any number of ways: least, greatest, lesser,
> >> greater, least greater, greatest lesser etc.
> >>
> >> Cartesian product and restrict have the effect that one can pair up
> >> tuples within relations ie. elements within sets.
> >

You are still trying to fight thousands of years of development in maths, identity and logic Brian. You've highlighted a vital design consideration when it comes to key selections, but no more than that. Received on Thu Sep 07 2006 - 18:40:04 CEST

Original text of this message