Re: is pivoted phones view updateable?

From: Aloha Kakuikanu <aloha.kakuikanu_at_yahoo.com>
Date: 17 Nov 2006 11:31:23 -0800
Message-ID: <1163791883.070595.269390_at_e3g2000cwe.googlegroups.com>


NENASHI, Tegiri wrote:
> "Aloha Kakuikanu" <aloha.kakuikanu_at_yahoo.com> wrote in
> > What you meant to say:
> >
> > v1 = r1 join {1,2,.., 10}
>
> It was a selection, it was not a join.

Is there a difference?

> >> > I agree that this example is not invertible. But switch the roles
> >> > of 10 and 100 and it becomes updateable!
> >>
> >> Please explain.
> >
> > r1 union {1,2,.., 10} = {1,2,.., 10}
>
> No r1 is the base relation,; r1 = {1..100};

Again, r1 is variable, not constant.

> r1 union {1..10} = {1..100}
> = r1 if union is the set union.

Here we have misunderstanding. We both agreed that your original example is not updateable. Then I remarked that if one switches the roles of 10 and 100, then the view becomes updateble. You asked me to clarify.

In your original (not updateable view) example the constrant onto the r1 relation variable was:

r1 union {1..100} = {1..100}

I changed it into

r1 union {1..10} = {1..10}

Informally, in your example r1 was a one argument relation with the domain x in {1..100}. My modification looks like a narrowing domain to {1..10}, which doesn't make sence since later on I'm considering {1..100}. Therefore, forget about the interpretation, just leave the constraint

r1 union {1..10} = {1..10}

with whatever domain for x is.

BTW, if you noticed, there is not a lot emphasis onto the domain in relational lattice anyway. The domain can be defined as some minimal element in the lattice, but I don't see anything really special about them.

> > v1 = r1 join {1,2,.., 100}
>
> I do not undestand {1..100}. What is it ? Is it that your database has
> any relations like the universal set ? It is not practical.

No. {1..100} is just another relation that satisfies set inclusion

{1..100} >= {1..10}

(Please note that set inclusion is lattice inequality in relational lattice terms. Be sure to notice the order switch too).

> Please do gradually:
>
> 1. The database has only r1 = {1..100}
> 2. The view v1 = {x in r1|x between 1 and 10}
> 3. Show that v1 is invertible.

Once again that was your original example, which we both agreed is not updateable. It can be formally expressed in lattice terms as:

r1 \/ {1..100} = {1..100}
v1 = r1 /\ {1,2,.., 10}

I see that if I want to be understood with my example, I'd better change the names for both the base relation and the view. Here it is

X \/ {1..10} = {1..10}
Y = X /\ {1,2,.., 100}

where X is base relation, and Y is the view. As mentioned in the other post, this example is essentially

X >= A
A >= B
Y = X /\ B

>From where we easily derive

Y = X

! Received on Fri Nov 17 2006 - 20:31:23 CET

Original text of this message