# Re: a union is always a join!

Date: Sat, 07 Mar 2009 02:34:36 GMT

Message-ID: <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).

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). Received on Sat Mar 07 2009 - 03:34:36 CET