Re: a union is always a join!
Date: Mon, 16 Mar 2009 22:00:49 -0400
"paul c" <toledobythesea_at_oohay.ac> wrote in message
> Walter Mitty wrote:
>> "Brian Selzer" <brian_at_selzer-software.com> wrote in message
>>> My point has little if anything at all to do with transactions and
>>> concurrency control. Those belong to implementations. My point is that
>>> relational calculus, or any equivalent mechanism such as relational
>>> algebra, while necessary for describing database updates, is not
>>> sufficient for that purpose because it can only apply to a single
>>> database, not two successive databases. The mechanism of updating the
>>> database cannot be reduced to mere algebraic expressions, but instead to
>>> asserting, in the context of what has been the case, just what in the
>>> world is different and exactly how. Let me explain.
>> I finally figured out that this is where the discussion branched off into
>> what some of us consider mysticism.
>> I disagree with the last sentence. In particular, the phrase "just what
>> the world is different" implies, if I read it correctly, that a database
>> update has to be mapped into a "real world update". However, this
>> is not presupposed by either the relational calculus or the relational
>> algebra. A database update is simply the difference between the ex ante
>> state of the database and the ex post state of the database. It is not
>> assertion about what in the world is different, except in the eye of the
>> The mathematics of relational calculus and relational algebra are fully
>> capable, AFAIK, of describing the difference between two states of a
> If the algebra isn't capable of that, the RM is in trouble! (Heh, I could
> predict in advance one mystic response, ie., there could be many possible
> such 'differences', but as I might've hinted, I don't think the mystics
> are really talking about the RM, though at least the late lamented Dawn
> had the grace to state her PICK bias up-front.)
The algebra is capable of that if and only if each and every tuple has a key that permanently identifies the thing in the universe of discourse that the tuple maps to. But since that isn't a requirement of the RM, the RM must be in trouble! If different keys at different states map to the same thing in the universe of discourse, or if the same key at different states maps to different things in the universe of discourse, then how is it possible to describe exactly what is different between two states of a database.
For your information, I haven't read in any of Codd's writings that he bought into D&D's inserts, updates and deletes are shortcuts for assignments paradigm. And that makes sense since a set of inserts, updates and deletes specifies exactly which possible set of differences constitutes what is different, whereas that can't always be determined from just an assignment.
<snip> Received on Tue Mar 17 2009 - 03:00:49 CET