more algebra

From: paul c <toledobythesea_at_oohay.ac>
Date: Sun, 04 Apr 2010 14:52:32 GMT
Message-ID: <QI1un.793$z%6.347_at_edtnps83>



I was trying to lookup some old posts, maybe started by Marshall, not sure about that, to do with defining keys. Finally gave up, for some reason the google new archive isn't my cup of tea.

I remember thinking that keys could be defined algebraically something like this: Let {K} stand for the set of attributes of r that make a key,

( r GROUP ( {K} AS k ) ) {k} = ( r {K}) GROUP ( {K} AS k)) {k}

will be true when r satisfies the key constraint.

( r GROUP ( {K} AS k ) ) {k} MINUS ( r {K}) GROUP ( {K} AS k)) {k}

will contain rva's that include the keys of tuples that violate the constraint. UNGROUP could also be used.

Seem to remember some objection or other, but not exactly what it was.

(I don't suggest that this should be directly implemented, just that it gives a minimal definition that is algebraic (eg., doesn't resort to any notion of 'Count'). One reason an algebra (eg., D&D's) seems important,   more than expository, is because it serves as a definition for some of the central operation of a relational machine, ie. defines the machine.   Sometimes surprises me that people looking for initial implementation guidance aren't pointed to an algebra first. Implementation of the above is more than exercise in optimization as it would 'prove' many of the features any relational machine needs.) Received on Sun Apr 04 2010 - 16:52:32 CEST

Original text of this message