Re: SUPPORT FOR DECLARATIVE TRANSITION CONSTRAINTS

From: Brian <brian_at_selzer-software.com>
Date: Wed, 22 Sep 2010 10:53:32 -0700 (PDT)
Message-ID: <beb0539f-163e-476a-9e06-ac42befe772e_at_z25g2000vbn.googlegroups.com>


On Sep 22, 10:19 am, Brian <br..._at_selzer-software.com> wrote:
> On Sep 22, 7:14 am, Erwin <e.sm..._at_myonline.be> wrote:
>
> > On 22 sep, 05:39, Brian <br..._at_selzer-software.com> wrote:
>
> > > I think you misunderstand. Permanent surrogates do not suffer from
> > > exactly the same "limitations."
>
> > You have claimed before that you were not talking of objectid's,
> > perhaps you have also already claimed that you were not talking of
> > ROWID() either, but one thing you have so far failed to do is explain
> > to me how you think you can make the system enforce the permanency of
> > your surrogates.
>
> As I indicated, there is additional machinery needed to prevent
> surrogate from being reused.  I believe RM VERY STRONG SUGGESTION 1:
> SYSTEM KEYS suggests a mechanism.  Using what I proposed in the
> original post, the additional machinery can be implemented as
> follows:  Create a new relvar with a single attribute to contain the
> permanent surrogates.  Define a transition constraint that disallows
> all deletes and upates that target the permanent surrogate relvar.
> Finally, declare foreign key constraints from each relvar that has a
> permanent surrogate attribute to the permanent surrogate relvar.  To
> prevent reuse of existing surrogates, transition constraints could be
> declared that prevent inserts into a relvar that has a permanent
> surrogate attribute without a corresponding insert into the permanent
> surrogate relvar.

I was just thinking that it might be necessary to impose an additional constraint that prevents updates that target the surrogate as well. Received on Wed Sep 22 2010 - 19:53:32 CEST

Original text of this message