Change is not made without inconvenience
I claimed in Chapter 2 that the generic relational assignment—
(where R is a relvar reference, or in other words a relvar name, syntactically speaking, and rx is a relational expression)—is logically equivalent to an assignment of the form:
Well, actually, in Chapter 2 I used the keywords MINUS and UNION in place of the set difference symbol “–” and the set union symbol “∪”, respectively. In this appendix I find it more convenient to use the symbols. Other symbols I’ll be using include “∩” (set intersection), “⊆” (set inclusion) and “Ø” (the empty set). What’s more, in all of these contexts I ought really to be talking in terms of relations rather than general sets, but I propose to overlook this point of detail in what follows. Note: In Chapter 2 I also enclosed the subexpression r – d (or r MINUS d, rather) in parentheses; in fact, however, no parentheses are needed, as we’ll soon see.
Be that as it may, let me now explain my notation in detail and elaborate on a few important points:
r is the value of R before the assignment (the “old” value of R); d is a set of tuples to be deleted from R (the “delete set”); and i is a set of tuples to be inserted into R (the “insert set”). Note: More precisely, d and i, like r, are really relations, and the sets of tuples I’m talking about are really the bodies of those relations. I’ll ignore this detail too in what ...