Re: relative complement?

From: paul c <anonymous_at_not-for-mail.invalid>
Date: Fri, 18 Mar 2011 07:41:03 -0700
Message-ID: <201103181441.UTC.ilvquh$uce$1_at_tioat.net>


On 16/03/2011 2:56 PM, Erwin wrote:
...
>> An (maybe extreme) example I have in mind assumes a supplier name
>> domain/type S# with possible values { S1, S2, S3 } and relations A { S#
>>
>> } and B { S# } with values:
>>
>> A:
>> S#
>> __
>> S1
>> S2
>>
>> B:
>> S#
>> __
>> S1 ,
>>

...
> Chastifying yourself again over view updating, heh ?
>
> The complement of a join A JOIN B is equal to : (C(A) JOIN Ub) UNION
> (Ua JOIN C(B))
>
> C(X) stands for the complement of X (that is, the _relative_
> complement, relative to the Universal relation Ux, which contains all
> possible tuples that could possibly appear in X, _disregarding_ any
> constraints other than the one implied by the type declaration of X).
> Ux stands for the Universal relation of the (relation) type of X.
>
> It must always be true that, for all X, X UNION C(X) = Ux. Any system
> in which this is not true sounds like unsound to me.
>
> In your example, (C(A) JOIN Ub) UNION (Ua JOIN C(B)) amounts to ({S3}
> JOIN {S1 S2 S3}) UNION ({S1 S2 S3} JOIN {S2 S3}), which is {S2 S3}.
>
> Deleting from the JOIN means inserting into the complement of the
> JOIN, means inserting into the UNION, means there are three distinct
> possible solutions (inserting into C(A), inserting into C(B),
> inserting into both).
>
> But perhaps I see things to simple. McGoveran was hard to follow in
> this article, partly because of sloppinesses such as "NOT PA OR NOT
> PB" (NOT is a logical operator, and as such doesn't apply to
> predicates, but solely to propositions. PA and PB are predicates,
> however. If I got things right. At any rate, I still fail to see
> where on earth he got the idea that "The "problem" of finding a unique
> inverse transformation for a join view in a given context without
> specifying any context goes away.". As far as I can see, the
> ambiguity (or multitude of solutions) still exists as big as it ever
> was.
>
>
>
> Cheers.

Thanks for that reply. I do agree with your definition of complement which is quite a practical one although there are others possible. I asked the question just to try to understand the technicalities of what McGoveran said and deliberately avoided mention of UNION which I think is an idiosyncrasy that commonly misleads as well as view updating which I have no problem with, at least conceptually, although I realize that many, many others have big problems with. My own suspicion is that these difficulties are caused mainly by the (again idiosyncratic, also widespread) tendency to think in terms of target relvars and disconnected, abstract notions of insert and delete rather than in terms of asserting and recording both true and untrue statements. In that sense I can side with McGoveran when he saids "the problem ... goes away", but I'm still at a loss to say whether his reasons are the same as mine! Received on Fri Mar 18 2011 - 15:41:03 CET

Original text of this message