At 05:54 PM 2/10/01 -0800, Zinovy Diskin wrote:
It became an *annoying* disadvantage when you start to work in applications (say, relational database theory) with your old habit to consider relations as sets of ordered tuples.
Relational database theory is actually more subtle than this. The extension indeed is a set of ordered n-tuples but this is linked to an intension specifying attribute names and types. The extension is effectively indexed by names in the intension so that ordering of columns is immaterial. Since the ordering of tuples in the extension is also immateial, the model is very flexible. The indexing is in effect from another level.
In ST, you first define tuples (actually, as we've seen, mappings defined on unordered sets) and *then* a relation is a set of tuples of the corresponding type. In CT, you *first* define a relation as a set equipped with a jointly monic family of outgoing mappings (that is, in fact, declare a special predicate for the corresponding diagram of arrows with common source) and then, if you need, define a tuple as an element of that set.
Cannot such relations be better represented as pullbacks? Limits and colimits then appear to emerge naturally as keys (product thereof) and non-keys (sums) respectively.
The CT-way is a really abstract specification applicable in any context where objects of interest are organized into a category (say, we may define what is a relation between the two database schemas). In ST-way, we have just a particular specification, in fact, an elementwise implementation of the categorical specification. In sofware engineering terms, one might say that the CT-way is object-oriented (though actually it's arrow orineted) since relation appears as a set of objects while the ST-way is value-oriented since relation is just a table of values.
CT certainly appears more powerful at handling object modelling than ST. But I am not sure the relational model is simply value-oriented. The user view is such but the underlying theory (dependencies, normalization, intension-extension mapping, integrity rules) is very much arrow-based and hence also amenable to CT. Regards ... Nick http://www.cs.ncl.ac.uk/people/b.n.rossiter/home.informal/