TABLE_DUM divided by Relation
September 1, 2011
Here is curious identity:
TABLE_DUM divided by a relation evaluates to the relation’s complement.
Formally in QBQL:
TABLE_DUM /= x = <NOT> x.
What division am I talking about? Googling “relational division” brings up a list of usual suspects — articles by Date, Celko, etc — with some confusion leading to “Todd’s division”, ternary (!) division operation and so on. QBQL follows much cleaner definitions of set equality join, set containment join and alike readily found in academic literature. In the above identity the “/=” is binary set equality join operation, informally known as relational division.
Dual identity is also interesting. First, the dual of
R00 is the universal relation
R11. The dual of unary complement operation is inversion. Duality among multiple division-like operations is not evident, but the reader might verify that set intersection join analogous to composition in the algebra of Binary Relations fits the bill:
R11 /^ x = <INV> x.