EXCLUSIVE UNION

In set theory, union is inclusive; that is, given sets s1 and s2, an element appears in their union if and only if it appears in either or both of s1 or s2. Thus, UNION can be seen as the set theory counterpart to logical OR, which is inclusive in a similar sense. But logic additionally defines an exclusive version of OR (XOR), and so we can define an exclusive union operator analogously: The exclusive union (XUNION) of two sets s1 and s2 is the set of elements appearing in s1 or s2 but not both. And, of course, we can define a relational version of this operator as well:

Definition: Let relations r1 and r2 be of the same type; then their exclusive union, r1 XUNION r2, is a relation of the same type, with body consisting of all tuples t such that t appears in r1 or r2 but not both.

For example (assuming as we did in Chapter 6, in the section UNION, INTERSECTION, AND DIFFERENCE, that parts have an extra attribute called STATUS, of type INTEGER):

image with no caption

Tutorial D also supports an n-adic form of XUNION. However, the details are a little tricky; for that reason, I’ll just give a definition here, without further discussion. You can find more details, if you’re interested, in the paper “N-adic vs. Dyadic Operators: An Investigation” (see Appendix G).

Definition: Let relations r1, r2, ..., rn (n ≥ 0) all be of the same type T. Then the expression XUNION{r1,r2,...,rn} denotes a relation of type T with body the set of all tuples t such that t appears in exactly m of r1, r2, ..., rn, where m is odd (and is possibly different for different tuples t).

The exclusive union of a single relation r is just r. The exclusive union of no relations at all is the empty relation of the pertinent type—but that type needs to be specified explicitly, since there aren’t any relational expressions from which the type can be inferred. Thus, for example, the expression

     XUNION { SNO CHAR , STATUS INTEGER } { }

denotes the empty relation of type RELATION {SNO CHAR, STATUS INTEGER}.

Note: In set theory, exclusive union is more usually known as symmetric difference. Thus, the keyword XMINUS might be acceptable as an alternative to XUNION.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.147.43.136