6 ms·
One of the classic papers on category theory and databases is "Comprehending Queries"[1], which is ultimately the basis for Microsoft's LINQ. In one sense, it's
by ekidd 16y ago
One of the classic papers on category theory and databases is "Comprehending Queries"[1], which is ultimately the basis for Microsoft's LINQ. In one sense, it's a fairly straightforward paper: Joining two tables is just a special case of a list comprehension, which the paper later transforms into optimizable combinators. Nonetheless, the paper presents a clean and elegant framework, and it lays out the category theory quite well.
As for category theory being mostly definitions, and not so much theorems, well, there's some truth in that. But don't underestimate the power of well-chosen definitions. An enormous number of mathematical structures are either topoi or closed cartesian categories. Once you understand how to map a closed cartesian category onto the lambda calculus, for example, you can design some pretty exotic programming languages. And many of the purely mathematical uses of category theory have a similar quality—smuggling theorems from one branch of mathematics to another. (One pretty reasonable introduction to category theory is "Basic Category Theory for Computer Scientists"[2], but there may be something better.)
[1] http://www.inf.uni-konstanz.de/dbis/publications/download/TG-GI00.pdf http://www.inf.uni-konstanz.de/dbis/publications/download/TG...
[2] http://www.amazon.com/Category-Computer-Scientists-Foundations-Computing/dp/0262660717/ http://www.amazon.com/Category-Computer-Scientists-Foundatio...