View updates (was "is something a RDBMS")

From: Mikito Harakiri <mikharakiri_at_ywho.com>
Date: Wed, 27 Aug 2003 09:55:02 -0700
Message-ID: <Wv53b.19$84.119_at_news.oracle.com>


"Mikito Harakiri" <mikharakiri_at_ywho.com> wrote in message news:dZ43b.18$84.104_at_news.oracle.com...
>
> D&D ad-hock updateability rules.

Let's clarify why I call those "ad-hock".

Given a view A transforming set of relational vars x into another set of relational vars y, we can write it like this:

Ax=y

Solving view updates involves finding another view A^(-1) ("inverting" operator A) so that

x=A^(-1) y

This notation is perfectly justified when we write classic linear algebra example problem in terms of relations

select x1+x2 as y1, 2*x1+3*x2 as y2 from X

You may notice that vector (x1,x2) is relational var x, and (y1,y2) is relational var y, while matrix [[1,1],[2,3]] is operator A in terms of notation introduced earlier.

Linear Algebra has a method of inverting the above view to

select 3*y1-y2 as x1, -2*y1+1 as x2 from Y

It is this math method that I'm contrasting to D&D ad-hock approach.

Of course, I don't have a slightest idea what the method is when we write equations involving relational operators. The major problem is that in math we can freely apply laws to transform expressions like this

u+v=w

into

u=w-v

while we have major difficulties manipulating relational expressions. For example,

u union v = w

and we don't seem be able to apply any tranformation to it which would move v to the other side of the equation.

In short, given the context of the problem above it seems unlikely that solving equations in the relational algebra would be reduced to applying a set of simple rules soon. Received on Wed Aug 27 2003 - 18:55:02 CEST

Original text of this message