# Re: a union is always a join!

Date: Sat, 7 Mar 2009 03:39:02 -0500

Message-ID: <Hoqsl.15137$as4.9979_at_nlpi069.nbdc.sbc.com>

"paul c" <toledobythesea_at_oohay.ac> wrote in message
news:03lsl.16668$PH1.1413_at_edtnps82...

*> Brian Selzer wrote:
*

>> "Walter Mitty" <wamitty_at_verizon.net> wrote in message

*>> news:Ziyrl.1235$%u5.1161_at_nwrddc01.gnilink.net...
**> ...
**>> I suppose that by now you're asking, why does this matter? Because <OR>
**>> is just an operator of a relational algebra. The application of <OR>
**>> that Paul referred to is a gross oversimplification of what actually has
**>> to occur during a database update. While disjunction is a necessary part
**>> of the calculation of what is the case, the remaining step of eliminating
**>> expressions that are true in all interpretations cannot be ignored. It
**>> should be easy to see that whenever there is a "DELETE,"
**>> there will be expressions like (p \/ ~p) in the logical sum of the two
**>> assertions. These are redundant because they are a consequence of just
**>> the logic, and as a result they do not convey information.
**>
**> Walter, this is to you, I'm not going to argue with Brian S about <OR>,
**> which I consider to be a convenient trick to allow an implementation to be
**> defined on an algebra, one that parallels boolean algebra, which is
**> helpful for comprehension. All Brian S is talking about is how the
**> artifices of an implementation should be interpreted (which I think is an
**> application question).
**>
*

You're missing the point. It's not about how it should be interpreted, but just that it is subject to interpretation. Once you admit that data is subject to interpretation and realize what interpretation involves, you'll find that you can't accomplish what you're trying to do. But it's your own time: how you waste it is really your own business.

*>
*

> Long before digital machines were invented, some mathematicians decided

*> that ordinary arithmetic would not be closed under division. Whereas I'd
**> say that closure of operations is very desireable for auttomation, ie. for
**> a machine, no matter whether it's a real or virtual machine. While Codd
**> talked a lot about exceptions and so may not have agreed, and while
**> McGoveran puts his argument in terms of data independence, for me the
**> controversy about updating views comes down to whether one desires a
**> logical machine to have closure under union (and under negation).
*

I'm not sure, but I think I said this before:

From p \/ q, can you infer p? Can you infer q? Can you infer p /\ q? No. All that is certain is ~(~p /\ ~q).

How, then, can you determine which base relation or relations are the ultimate target of an insert into a union view? Received on Sat Mar 07 2009 - 09:39:02 CET