Andrew Mangona presnted his work on TclRAL, a relational algebra extension for Tcl. It provides:
Tuple type, 3 part list. Tuples have a heading: attribute name, attribute type.
Relvars are mirrored as standard Tcl variables. Relvars can have referential integrity constraints applied to their values. The extention provides 38 relational operators. No time to cover them all in his talk.
TclRAL enforces declarative referential integrity constraint: Association Constraints, Partition Constraints and Correlation Constraints.
Any time a relvar is modified the constraints are evaluated. Either you pass the constraints and can go forward; otherwise throw an error.
Association constraints define traditional (database-like?) referential constraints. Attributes in one relation refers to attributes in another relation. References are identifiers. Multiplicity and conditionality can be specified.
Partition constraints define a set of relations that are completed and disjoint sub-sets of some super-set relation.
Correlation constraints: Correlation constraints define an integrity constraint between two relvars that is mediated by a 3rd. The correlating relvar references the two other relvars in the constraint. Often arises in a many-to-many situation.
Lots of screenshot examples, but with a notation that while I'm sure is common to those who work with relational algebra, I did not understand well enough to transcribe from the back of the room.
—Michael A. Cleverly
Wednesday, October 11, 2006 at 14:31