From: | "Tzahi Fadida" <tzahi_ml(at)myrealbox(dot)com> |
---|---|
To: | <pgsql-general(at)postgresql(dot)org> |
Subject: | Google Summer of Code: Full Disjunctions |
Date: | 2006-05-05 21:57:46 |
Message-ID: | 001a01c6708e$f1a1fd70$0b00a8c0@llord |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Tony Wasson | 2006-05-05 22:07:41 | Re: Rules on Select |
Previous Message | Hogan, James F. Jr. | 2006-05-05 21:50:35 | Re: Rules on Select |