A little self advertising: Here is a link to my proposal that was sent to google: http://www.technion.ac.il/~tzahi/proposal.txt Full Disjunction is an operator. Without any long introductions (see link above)... An excerpt: Example of an input and output of a full disjunctions: A B C X Y Y Z X Z a | b b | c a | d A,B,C are relations. X,Y,Z are attributes. a,b,c,d are values. Note that A,B,C are connected in a cycle. A is connected to B on attribute Y, B is connected to C on attribute Z, C is connected to A on attribute X. The output of the full disjunctions FD(A,B,C): FD X Y Z a | b | c a | b | d This output cannot be generated using standard SQL statements. The closest operator is a natural outer join and even it cannot generate this output. Following is all the possible ways to use a natural outer join (noj): (A noj B) noj C = C noj (A noj B): X Y Z a | b | c a | Null | d (A noj C) noj B = B noj (A noj C): X Y Z a | b | d Null | b | c (B noj C) noj A = A noj (B noj C): X Y Z Null | b | c a | Null | d a | b | Null As can be clearly seen, we get incomplete information. Regards, Tzahi. -- Tzahi Fadida http://tzahi.blogsite.org | http://tzahi.webhop.info WARNING TO SPAMMERS: see at http://members.lycos.co.uk/my2nis/spamwarning.html