Re: Basic question?What 's the key if there 's no FD(Functional Dependencies)?

From: Sampo Syreeni <decoy_at_iki.fi>
Date: Sat, 4 Nov 2006 20:08:15 +0200
Message-ID: <Pine.SOL.4.62.0611041848350.16424_at_kruuna.helsinki.fi>


On 2006-11-03, NENASHI, Tegiri wrote:

> The advantage is a lot: evolution from functional datamodel DAPLEX to
> the functorial data mode: [...]

Yes, but... You seem to advocate replacing big parts of the current foundations of data representation with the categorical framework. At least to me it's easy to agree that the categorical perspective is useful, but I don't think it's enough by itself.

If you mention "abstract nonsense" to any working mathematician, they'll immediately know you're referring to category theory, whether or not they consider the latter useful. That's because the theory deals in the most rarefied of abstractions, and glosses over almost all of the detail that most mathematicians are concerned with. It is extremely general, but in mathematics such generality always comes at a price: if you want your theory to apply broadly, it cannot assume too much, and that translates into a small number of weak axioms which cannot be used to derive truly powerful results.

In part all science is about how to organize and represent knowledge efficiently, and the choice of proper level of abstraction plays a big part in this. Category theory is needed because it provides the proper context in which to discuss the weakest, most general properties of mathematical structures. (That's also why category theory can be applied to just about anything. It shouldn't be surprising that it applies to data modeling as well.) But at the same time, the vast majority of useful mathematics is about what you can prove when you have more information/axioms/structure available. Category theory per se is useless for this task. It can be used to organize specific theories under a general umbrella, but not much more.

Thus, what we really have here is not a question of trading existing theories in for categories, but an issue of proper modularization and representation of mathematical knowledge: general results shouldn't have to be proven over and over again in special cases so it makes sense to separate them into their own theory and discuss them in its context. But the real beef still lays in the more specific and more powerful theories that are only accessible when the level of abstraction is lowered considerably.

The point of all this is that data modeling also deals with the specifics, and so a big part of it lies outside the proper area of application of category theory. If you're talking about conceptual modeling at the general level, you can organize the discussion in terms of categories, but once you go into the representation of different algebraic and combinatorial structures, query optimization and so on, you can no longer make do without lots of extra structure. That structure must be compatible with and probably should not replicate what is already available at the categorical or set theory levels, but nevertheless this more specific level is where the biggest payoffs are.

Finite set theory and the theories of specific kinds of finite algebraic structures (like character strings) are just two examples of such extra structure, and they are highly useful for the practice of data modeling. You can split off some of their more general properties and express them in terms of categories, but you'll still have to deal with the specifics as well. Data modeling is also partly an art and an engineering discipline, not just an area of applied mathematics, so there are tons of relevant concerns that cannot be expressed in precise, mathematical terms. Claiming otherwise, for example by denying the value of Cartesian product structure on finite sets with factors named by human readable character strings, is I think a symptom of counter-productive high abstraction and failure to understand the true nature of data modeling.

-- 
Sampo Syreeni, aka decoy - mailto:decoy_at_iki.fi, tel:+358-50-5756111
student/math+cs/helsinki university, http://www.iki.fi/~decoy/front
openpgp: 050985C2/025E D175 ABE5 027C 9494 EEB0 E090 8BA9 0509 85C2
Received on Sat Nov 04 2006 - 19:08:15 CET

Original text of this message