Re: RM VERY STRONG SUGGESTION 4: TRANSITION CONSTRAINTS
Date: Fri, 10 Sep 2010 12:48:28 -0700 (PDT)
Message-ID: <35f35f85-49a7-4ba8-a855-a68508130f87_at_m1g2000vbh.googlegroups.com>
On Sep 10, 2:08 pm, Erwin <e.sm..._at_myonline.be> wrote:
> On 10 sep, 14:29, Brian <br..._at_selzer-software.com> wrote:
>
> > Incidentally, the transition constraints defined on pages 220-221 of
> > TTM are not enforceable
>
> Of course they are enforceable. Every declarable constraint that
> effectively evaluates to a boolean is enforceable by evaluating it and
> inspecting the boolean result and acting upon that result.
>
> So declarable constraints are enforceable by definition.
>
> > since they implicitly assume that each value
> > for S# permanently identifies a supplier. What if the supplier number
> > for a given supplier changes?
>
> Then the machinery underlying the transition constraints will fail to
> raise some exception that you would like the system to raise.
>
> However, no matter what construct one wishes to use, it is materially
> impossible for any system to guaranteeably raise that exception in
> every case where you would want to see it raised.
I disagree.
CONSTRAINT IS_EMPTY (S~ WHERE STATUS' > STATUS) would guaranteeably raise that exception because it does not depend on key stability. Whenever there is an UPDATE that decreases STATUS, the exception would be raised.
>
> > I really don't understand why you're fighting this so vehemently,
> > seeing as how you are on record that you don't think := should be
> > supported anyway.- Tekst uit oorspronkelijk bericht niet weergeven -
>
> That record states pretty unmistakably that I find it a bad idea to
> expose direct relational assignment as an update vehicle that is
> directly available to the user. That record also pretty unmistakably
> states my reason for having that belief : I dislike the implicitness
> of the delete that would arise.
