Re: Another motivational example for inverse view

From: NENASHI, Tegiri <tnmail42_at_gmail.com>
Date: Fri, 17 Nov 2006 16:13:22 +0100 (CET)
Message-ID: <Xns987E6812F9118asdgba_at_194.177.96.26>


"Aloha Kakuikanu" <aloha.kakuikanu_at_yahoo.com> wrote in news:1163712170.312680.76320_at_h54g2000cwb.googlegroups.com:

>
> NENASHI, Tegiri wrote:

>>

> But why do you treat functions and realtions separately?

I think that in the relational model, the treatment is separate because of the practical reasons. How one presents 'sqrt' as a relation in the database ? Please show.

>The example
> can be effectively reduced to the following. Let
>
> X(x,y)
>
> be (base) relation variable. Let
>
> A(y,z)
>
> be relation constant. Assume A(y,z) is an injective mapping y->z. Then,
> the view
>
> Y = project_xz(X join A)
>
> is updateable.

It is updatable because of your criterium of invertibility, is it right ?

It is updatable because the join is many to one: the other criterium of updatability. In accord with this criterium a join to any function is updatable. I think Oracle utilizes this criterium.

>
> I can't work out this example formally yet.
>
>
> I can't even work out a simpler example where
>
> X(x,y)
>
> is again (base) relation variable, and
>
> A(y,z)
>
> be relation constant. A is no longer a one-to-one function, however.
> The new requirement is
>
> project_y (X(x,y)) is subset of project_y (A(y,z))
>
> The view
>
> Y = X join A
>
> is updateable in this case. Why?
>
>
Received on Fri Nov 17 2006 - 16:13:22 CET

Original text of this message