Re: Extending my question. Was: The relational model and relational algebra - why did SQL become the industry standard?

From: Bob Badour <bbadour_at_golden.net>
Date: Tue, 18 Feb 2003 22:44:05 -0500
Message-ID: <lrD4a.60$Dm4.6034464_at_mantis.golden.net>


"Mikito Harakiri" <mikharakiri_at_ywho.com> wrote in message news:D0z4a.21$h_3.106_at_news.oracle.com...
>
> "Alfredo Novoa" <alfredo_at_ncs.es> wrote in message
> news:e4330f45.0302181408.121a939f_at_posting.google.com...
> > > Why? View updates is about ability to solve equations with relational
> > > operators. While one can certainly claim that Set Algebra is superior
> to
> > > Bag Algebra, you have to demonstrate what exact technical difficulties
> are
> > > solving equations in the Bag Algebra.
> >
> > The systematic approaches to the view update problem based on
> > predicate logic does not work with bags.
>
> I have a doubt about Date's approach. Is he treating each operation
> individually; independently of each other? Is he treating each new tuple
> inserted into a relation individually; unrelated to other tuples inserted
> (in the same transaction)?
>
> Returning to the example
>
> select id, 'VOICE' type, voice phone
> from contact
> union
> select id, 'FAX' type, fax phone
> from contact
>
> we can easily see that both assumtions aren't correct:
>
> 1. Sucessively applied operations can't be considered independently of
each
> other. In the above example union can't be considered independently of the
> antiprojection (BTW, what is the correct term for adding a pseudocloumn?).

Extension. And yes, one can apply view update rules on nested operations. In the above example, one must apply the update rules for projection as well because voice does not appear in the second operand to union and fax does not appear in the first operand.

> 2. Two tuples inserted together into a derived relation correspond to a
> single tuple insertion in the base relation. The approach based upon
"single
> tuple" translation is flawed.

The insert of two tuples one with a fax and one with a voice phone would fail with an error because it would necessarily insert id twice, and presumably id is a candidate key for contact.

You might not like that result, but the answer to that is: "Use a more sensible design." Received on Wed Feb 19 2003 - 04:44:05 CET

Original text of this message