Re: View updating in practice?

From: Jens Lechtenbörger <lechtej_at_uni-muenster.de>
Date: 13 Nov 2002 09:46:33 +0100
Message-ID: <m2r8dphn6e.fsf_at_pcwi1068.uni-muenster.de>


Daniel Morgan <dmorgan_at_exesolutions.com> writes:

> Jens Lechtenbörger wrote:
>
> > "Bob Badour" <bbadour_at_golden.net> writes:
> >
> > > "Jens Lechtenbörger" <lechtej_at_uni-muenster.de> wrote in
> > > message news:m265v87zud.fsf_at_pcwi1068.uni-muenster.de...
> > > > Daniel Morgan <dmorgan_at_exesolutions.com> writes:
> > > >
> > > [snip]
> > > > The question is the following: How dangerous are clueless
> > > > users? If view updates are triggered from applications,
> > > > then the application designer hopefully guarantees that the
> > > > right things happen. If users access the database via SQL,
> > > > they might delete valuable data.
> > >
> > > How dangerous? Very. However, I do not see the difference
> > > between a clueless user deleting valuable data from a base
> > > table and a clueless user deleting valuable data from a
> > > view. I see this as an issue for the dbms' security function.
> >
> > My point is the following: With views, even users with a clue
> > might not have a chance to understand their actions.
> >
> > Jens
>
> I strongly disagree. Your assumption that a user knows the
> difference between a table, a view, and a synonym is
> ill-founded.

No, I don't assume that. In fact, I assume that users access the database via an external schema. Here, it does not make sense to distinguish views from tables. Indeed, tables might not appear in external schemata at all.

I didn't state the following so far, but it provides another perspective on my view of view updates. I believe that it is desirable to design external schemata in such a way that they are *self-contained*. I call a schema self-contained if any query and update issued against that schema can be performed within that schema, i.e., not touching objects outside the schema. (Note that this requirement is trivial for queries.) If users work on such a schema then they *can* understand all their actions as (a) they are able to see all effects of their actions and (b) they have all information that was used to compute those effects.

Coming back to constant complements now: So far I have only talked about updating single views, where an update can only be understood (in my sense) if all effects of the update are visible in the view. In the more general setting of updating views in an external schema, the constant complement I'm looking for is a complement of the external schema (not that of a single view). Thus, it is enough if users can observe the effects of updates somewhere in their schema.

Jens Received on Wed Nov 13 2002 - 09:46:33 CET

Original text of this message