Re: An alternative to possreps

From: Hugh Darwen <hughdarwen_at_gmail.com>
Date: Fri, 17 Jun 2011 07:34:50 -0700 (PDT)
Message-ID: <6a0ab162-66ea-4e8c-9b8a-3eac8a7d98ad_at_y30g2000yqb.googlegroups.com>


On Jun 12, 4:31 am, David BL <davi..._at_iinet.net.au> wrote:

> It's clear that every update to a variable can be regarded as
> logically equivalent to some assignment to that variable. However I
> fail to see how this observation is very illuminating.  Indeed it
> seems to have the opposite effect by suggesting there is only one kind
> of update so don't waste your time studying the very rich and
> interesting area of specialised update operators.

I'm sure the "opposite effect" you refer to is not his intention. The point really is that the semantics of an update operator are clearly defined in terms of assignment--like INSERT(RV,r) might be defined as equivalent to RV := RV UNION r. This is indeed "not very illuminating" but it gives us the convenience of using the term "multiple assignment" to refer to a single statement that simultaneously updates one or more variables, and to define the semantics, as we do in TTM, in terms of assignment. It also gives us a reasonably snappy name for the principle we call The Assignment Principle (stating that immediately following the assignment of v to V, the expression v = V shall evaluate to TRUE). The Assignment Principle is worth enunciating both SQL sometimes violates it (updating views WITHOUT CHECK OPTION!).

In fact, Date's most recent proposals for updating relational views (with which, as it happens, I do not fully agree) are expressed in terms of the traditional database update operators, INSERT, DELETE, and UPDATE (the last being defined as a shorthand for simultaneous INSERT and DELETE). Moreover, we propose that in addition to the selectors and THE_ operators implied by possreps, certain special update operators are also implied.

Hugh Darwen Received on Fri Jun 17 2011 - 16:34:50 CEST

Original text of this message