An RdbTuple is a set of typed attribute/value pairs. To be an RdbTuple, the order of the attribute/value pairs cannot matter.
{ <x, integer, 10>, <y, integer, 15>, <s, string, "Hello World"> } is an RdbTuple. { <y, integer, 15>, <x, integer, 10>, <s, string, "Hello World"> } is the same RdbTuple.If one assumes that the order of the columns in a table is insignificant, then RdbTuple <==> table row. Is this correct? Am I missing something here?
So it would be more correct to say that a table row is a variable that stores an RdbTuple as its value?
[No, that would not be accurate -- any more than it would be accurate to describe a bit within the machine representation of an integer as a variable. A "row", or RdbTuple within an RdbRelation, is an immutable component of that RdbRelation, therefore rows are categorically not variable. Only RdbRelVars -- i.e., relation valued variables -- are mutable, and only by assignment. Update operators, such as INSERT, UPDATE, and DELETE, are merely handy shortcuts for an assignment of an immutable RdbRelation to an RdbRelVar. An RdbRelation is a value, and no more mutable or possessing variable components than, say, the position occupied by the digit "4" is a variable in the integer value 3489.]
Okay, I've got it now I think. I'm going to let it settle for a while and then try to create a DocumentMode summary of these quite helpful bits you've shared with us. Thanks a mil Dave! --BrandonCsSanders
The type for each attribute corresponds to an RdbDomain.
(also RdbHeading)
See also: TupleDefinition