Take the 2-minute tour ×
Computer Science Stack Exchange is a question and answer site for students, researchers and practitioners of computer science. It's 100% free, no registration required.

I am trying to understand how a OUTER UNION $∪^✳$ works, and why it is only partially compatible.

I am aware this operation was created to take union of tuples from two relations if the relation are not type compatible (which I understand).

Examples of this operation will be great!

share|improve this question

1 Answer 1

up vote 2 down vote accepted

There are two flavors of outer union: with and without NULLs. Google search readily exibits an example for NULLs version. The cleaner version of relational algebra desn't allow NULLs, and outer union is defined via De Morgan's law:

$ X \bigcup Y = \overline {\overline X \Join \overline Y} $

Date&Darwen call this operation $\blacktriangleleft OR \blacktriangleright$.

Given

R = [A B]
     1 2
     3 4

and

S = [B C]
     4 5
     6 7

both outer join variants agree that the result projected to common column B should be {2,4,6}. This is what is called inner union -- alternative way of generalizing standard relational algebra union operator. Now the problem is finding values of attributes A and C. Next, we match the values of the "middle column" with attributes A and C trying to leverage information in the relations R and S. In case of value B=2 we don't have matching value of C. Likewise, for B=6 we don't have matching value of A. Therefore, D&D $\blacktriangleleft OR \blacktriangleright$ operator fills the blanks in

[A B C]
 1 2
 3 4 5
   6 7

with all the values from corresponding domain, while the NULL version just blurts NULLs.

share|improve this answer
    
I've already looked at the site, is it possible for you to give me a detailed explanation of what is going on there please as the problem is me understanding it. –  orange Nov 28 '12 at 20:12

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.