# Re: more on delete from join

Date: Tue, 1 Sep 2009 20:57:32 -0400
Message-ID: <M9OdnUk7xvBhXwDXnZ2dnUVZ_vGdnZ2d_at_giganews.com>

"paul c" <toledobythesea_at_oohay.ac> wrote in message news:ktcnm.43362\$PH1.627_at_edtnps82...
> Mr. Scott wrote:
> ...
>> An appeal to logic. Affirming the disjunction of two ground atoms,
>>
>> Pabc OR Qabc
>>
>> implies that either Pabc is true or Qabc is true or both are true.
>> Similarly, denying the conjunction of two ground atoms,
>>
>> NOT (Pabc AND Rabd),
>>
>> is equivalent to affirming the disjunction
>>
>> NOT Pabc OR NOT Rabd
>>
>> which implies that either Pabc is false or Qabd is false or both are
>> false. Either case involves affirming a disjunction, not a conjunction.
>> ...
>
> Yes, it's true that NOT (Pabc AND Rabd) by itself doesn't imply NOT Pabc
> AND NOT Rabd. However, "Pab = Rab AND NOT (Pab AND Rab)" does imply the
> conjunction NOT Pab AND NOT Rab. In other words, we can retract equal
> projections of subsets of Pabc and Rabd if we can interpret a delete
> statement in terms of Pab and Rab.
>

I think you're jumping to the conclusion that (a,b) is a key value.

It's also a big leap to assume that Pab means the same thing as Rab.

>> Now let's apply this logic to relational theory. Let there be tables
>> with predicates P, Q and R, a view that is the union of the table with
>> predicate P and the table with predicate Q, and a view that is the join
>> of the table with predicate P and the table with predicate R. Inserting
>> a row (a,b,c) into the union view affirms the disjunction Pabc OR Qabc;
>> deleting a row (a,b,c,d) from the join view affirms the disjunction NOT
>> Pabc OR NOT Rabd. Both inserts into the union view and deletes from the
>> join view affirm disjunctions, and as a consequence, neither inserts into
>> the union view nor deletes from the join view have unique results.
>>
>> I can see the benefit of recording disjunctive information. If it is
>> known that A OR B is true, then it should be possible to assert A OR B,
>> even if it is not known which is true. I just don't think that an insert
>> into a union view is the correct way to do it. A better way would be to
>> use three tables, one for facts like 'It is known that A.' one for facts
>> like 'It is known that B.' and one for facts like 'It is known that A OR
>> B, but not which.'
>> ...
>
> That's a clear, logical and very direct position. Mine is more
> complicated, maybe I should try to be more formal about it.
Received on Tue Sep 01 2009 - 19:57:32 CDT

Original text of this message