* a Tuple is an associative array having one or more Attributes,
and each Attribute has a name or ordinal position and it is typed
according to a Domain;
this is like a restricted Hash in a way, where each key has a
specific type

Advertising

* a Relation is an unordered set of Tuples, where every Tuple has
the same definition, as if the Relation were akin to a specific
Perl class and every Tuple in it were akin to a Perl object of that
class

Something that puzzled me in "Database in Depth" is that jargon,
supposedly math-based. A relation in math is just a subset of a
Cartesian product, and a tuple is an element of a relation. So it's
standard for a Relation type to be a set of Tuples, but a tuple
itself is not a set (as are "tuples" in the book, argh). So if
something unordered like that goes into the language to mimick that
model I wouldn't call it Tuple.

Math conventions there are well established, the jargon in "Database
in Depth" departs from them and I don't think it is a good idea to
adopt it.