Re: Jan's well-defined view updates definition
From: Jan Hidders <jan.hidders_at_pandora.be>
Date: Fri, 19 Sep 2003 23:16:04 GMT
Message-ID: <U6Mab.28848$sV6.1591321_at_phobos.telenet-ops.be>
>>Bob Badour wrote:
>>
>>>"Jan Hidders" <jan.hidders_at_ua.ac.be> wrote in message
>>>news:3f696e04.0_at_news.ruca.ua.ac.be...
>>>
>>>>Bob Badour wrote:
>>>>
>>>>>"Jan Hidders" <jan.hidders_at_pandora.be> wrote in message
>>>>>news:d14ab.25480$rw3.1352807_at_phobos.telenet-ops.be...
>>>>>
>>>>>>Lets say I have base relations R(a,b) and S(b,c) with a foreign key
>>>>>>R.b -> S.b and a view V that is defined by the natural join of R
>>>>>>and S. The additions and deletions are both well-defined but if I
>>>>>>add the tuple (a1,b1,c1) and then remove it then the end result is
>>>>>>an additional tuple (b1,c1) in S, which is not the same as the end
>>>>>>result of adding 0 tuples. So for the class of updates that
>>>>>>consists of inserts and deletes it is not commutatively updatable.
>>>>>
>>>>>Why would one have (b1,c1) in S instead of (a1,b1) in R or neither?
>>>>
>>>>The first option violates the foreign key and the second option deletes
>>>>more than necessary which violates the CWA.
>>>
>>>Since the user instructed the dbms to delete the tuple with c1, I do not
>>>see how it violates the CWA.
>>
>>The tuple (a1,b1,c1) in V is not equal to the tuple (b1,c1) in S. They are
>>different values and represent different (although related) facts. Since
>>the DBMS was told in the past that the fact represented by (b1, c1) in S
>>was true and now is neither directly nor indirectly (it does not logically
>>follow) told that it is false, it should assume that it is still true.
>>
>>
>>>I do, however, see how it ignores symmetry.
>>
>>There is no symmetry in this case, the foreign key breaks it.
Date: Fri, 19 Sep 2003 23:16:04 GMT
Message-ID: <U6Mab.28848$sV6.1591321_at_phobos.telenet-ops.be>
Bob Badour wrote:
> "Jan Hidders" <jan.hidders_at_pandora.be> wrote in message > news:aNoab.27111$OG5.1550428_at_phobos.telenet-ops.be... >
>>Bob Badour wrote:
>>
>>>"Jan Hidders" <jan.hidders_at_ua.ac.be> wrote in message
>>>news:3f696e04.0_at_news.ruca.ua.ac.be...
>>>
>>>>Bob Badour wrote:
>>>>
>>>>>"Jan Hidders" <jan.hidders_at_pandora.be> wrote in message
>>>>>news:d14ab.25480$rw3.1352807_at_phobos.telenet-ops.be...
>>>>>
>>>>>>Lets say I have base relations R(a,b) and S(b,c) with a foreign key
>>>>>>R.b -> S.b and a view V that is defined by the natural join of R
>>>>>>and S. The additions and deletions are both well-defined but if I
>>>>>>add the tuple (a1,b1,c1) and then remove it then the end result is
>>>>>>an additional tuple (b1,c1) in S, which is not the same as the end
>>>>>>result of adding 0 tuples. So for the class of updates that
>>>>>>consists of inserts and deletes it is not commutatively updatable.
>>>>>
>>>>>Why would one have (b1,c1) in S instead of (a1,b1) in R or neither?
>>>>
>>>>The first option violates the foreign key and the second option deletes
>>>>more than necessary which violates the CWA.
>>>
>>>Since the user instructed the dbms to delete the tuple with c1, I do not
>>>see how it violates the CWA.
>>
>>The tuple (a1,b1,c1) in V is not equal to the tuple (b1,c1) in S. They are
>>different values and represent different (although related) facts. Since
>>the DBMS was told in the past that the fact represented by (b1, c1) in S
>>was true and now is neither directly nor indirectly (it does not logically
>>follow) told that it is false, it should assume that it is still true.
>>
>>
>>>I do, however, see how it ignores symmetry.
>>
>>There is no symmetry in this case, the foreign key breaks it.
> > The foreign key is nothing but a short-hand for a WFF. How does a WFF alter > symmetry?
By not being symmetric.
- Jan Hidders