Re: is pivoted phones view updateable?

From: NENASHI, Tegiri <tnmail42_at_gmail.com>
Date: Fri, 17 Nov 2006 23:47:21 +0100 (CET)
Message-ID: <Xns987EB56B4F2CDasdgba_at_194.177.96.26>


"Aloha Kakuikanu" <aloha.kakuikanu_at_yahoo.com> wrote in news: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
>
> !

Very well, I understand the notation now. But I am disappointed. Your rules, one can better write them in logical notation:

  1. X : predicate that defines the relation
  2. X --> A : X implies B; the constraint
  3. A --> B : A implies B; how B is connected to A
  4. Y = X and B : predicate that defines the view.

By modus ponens (X, X-->A, A-->B|= B) one immediately sees that B is true and X = Y

Can you give a more interesting concrete example of the invertible view ?

--
Tegi



>
>
Received on Fri Nov 17 2006 - 23:47:21 CET

Original text of this message