Search Postgresql Archives

Google Summer of Code: Full Disjunctions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux