[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
categories: Re: Why binary products are ordered
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/