Re: more on delete from join
Date: Wed, 26 Aug 2009 11:35:07 -0700 (PDT)
Message-ID: <2e6dc58a-4df1-44fd-9c87-105073bd10d3_at_v20g2000yqm.googlegroups.com>
On Aug 26, 12:40 pm, paul c <toledobythe..._at_oohay.ac> wrote:
> Kevin Kirkpatrick wrote:
>
> ...
>
> > By the narrowest interpretation of RT, shouldn't the whole "view
> > update" problem just be tossed out once and for all? Tuples in base
> > relvars represent business meaningful propositions, and tuples in
> > virtural relvars represent business meaningful conclusions drawn from
> > base relvar propositions. As such, view updates amount to letting
> > end-users assert conclusions and having the DBMS make "educated
> > guesses" at the appropriate modifications to business meaningful
> > propositions such that those conclusions will be reached. Seems
> > inherently mystical to me.
> > ...
>
> Insert to a base relvar represents a conclusion: R =: R UNION A conludes
> R AND A.
Sorry, I can't make sense of what you've written here. The statement
"R =: R UNION A" is an assignment statement; hence it "assigns" - it
does not "conclude". From a end-user level, it asserts the truth
value of the predicate represented by relvar R for all tuples in
already in relvar R and all tuples in relation A. Certainly, once
this has been asserted, a query run against relation R should conclude
that the predicate represented by R holds for all tuples that had been
in R and all tuples that had been in A.
I'm not sure how to make this more clear: A view is a named query, and a query is a set of conclusions drawn from the propositions stored in the database. What does it mean to assign tuples to a view? I mean, if a view is defined as
HIGH_PAYED_EMPS := EMPS where SAL > 50000
and John Doe makes $50001, can his boss reduce his salary by deleting him from HIGH_PAYED_EMPS? Why not? What principle would be violated if the DBMS received:
DELETE FROM HIGH_PAYED_EMPS WHERE ENAME = 'JOHN DOE'; and issued the following update:
UPDATE EMPS SET SAL = 50000 WHERE ENAME = 'JOHN DOE'; After all, the plain language meaning of "DELETE FROM HIGH_PAYED_EMPS WHERE ENAME = 'JOHN DOE'" is the simple assertion "John Doe is not a high paid employee." Reading anything more into it is "educated guessing", and any actions taken on that basis is "mysticism". That's what I mean when I say the whole notion of allowing database users to assert *conclusions* by updating named queries, rather than limiting them to asserting/denying propositions that conform to predicates of the underlying data model, should be disposed of. Received on Wed Aug 26 2009 - 20:35:07 CEST