Re: View updating in practice?

From: Mikito Harakiri <>
Date: Wed, 13 Nov 2002 06:36:09 GMT
Message-ID: <tpmA9.13340$QZ.4692_at_sccrnsc02>

"Jens Lechtenbörger" <> wrote in message
> Just to clarify the connection between view inverses and constant
> complement translators, here is a rough outline of my approach:

Let's doublecheck that I understand your approach. I'm going to use a very restricted set of views -- Linear Algebra Transformations only. (Then, we need numbers domain with operators, of course). I will interpret your posting sentence by sentence in Linear Algebra.

> Any set V of views over some data sources D usually preserves some
> but not all of the information contained in D.

Linear Transformation T:D->V defined by a matrix

| 1 2 3 |
| 2 1 0 |

could be defined as a single view

select x+2*y+3*z, 2*x+y from D

or an equivalent set of views

select x+2*y+3*z from D
select 2*x+y+0*z from D

Linear transformation in general could map a set of linear independent vectors into a set of linear independent vectors. Then, it preserves all the "information" contained in that linear set. Otherwise, it preserves information "partially". In my example, linear independent set of vectors {<x=1, y=0, z=0>,<x=0, y=1, z=0>} map into linear independent set {<1,2>,<2,1>}. If we add one more linear independent vector, say, <x=0, y=0, z=1>, then the result {<1,2>,<2,1>,<3,0>} is no longer linear independent.

> Now, a set C of
> views over D is a complement of V if it is possible to compute D
> from V and C, i.e., if there is way to compute any source state from
> the state of V and C,

If we add one more row to the matrix in our example

| 1  2  3 |
| 2  1  0 |
| 1  1 -1 |

then it becomes invertible. Invertible transformation T maps vectors one-to-one. In view interpretation additional matrix row(s) is a complement view

select x+y-z from D

> Note that in
> general, complements are not unique (as you might expect from
> algebraic complements).

Nonuniquness is obvious in the Linear Algebra interpretation: There many ways to complement a transformation to the invertible one. For example we could use

select x+y-2*z from D

as an alternative complement view.

Note that your aside comment is not valid: complements are linear equations, not elements of the algebra domain.

> In particular, views that describe a copy
> of D are a complement for any set of views.

View defined as a "Copy of D" is just a view based upon identity matrix:

select x, y, z from D

> Now, a view update on view V can be translated under constant
> complement if there is a complement C of V such that the contents of
> C do not change when the view update is executed on the database.

Here I'm lost.

Suppose, D current content is {<x=1,y=1,z=1>}. A view V would manifest

<1*1+2*1+3*1,2*1+1*1>=<6,3>. Suppose a new tuple
<x=2,y=2,z=2> added. A view V would manifest an extra tuple
<1*2+2*2+3*2,2*2+1*2>=<12,6>. Is there a view D such that an image
of the new and the old tuple is the same? It certainly is, for example

select x-z from D

It would depend on the new tuple and the D currrent content, of course.

Constant complement, however, seems meaningless from linear algebra perspective: neither user, nor the systems calculates complement view. Given a view update, one needs to translate it back to the base relations. I don't see how can it be done without solving equations. And a view have to be invertible.

Or maybe I'm just missing correct Linear Algebra interpretation of the constant complement? Received on Wed Nov 13 2002 - 07:36:09 CET

Original text of this message