What categories are described by relational programming languages?

109 Views Asked by At

I know that lambda calculus is the language of cartesian closed categories.

As I understand it, relational programming systems (that, as the name implies describe a computation in terms of relations) would then operate on those, but also other categories (since functions are a special case of relations).

So what categories do relational databases/languages describe?

1

There are 1 best solutions below

1
On BEST ANSWER

Relational languages may be described by allegories.

$$\textbf{Relations are to allegories as functions are to categories.}$$

An allegory is a category where the arrows are considered to be (some form of abstract) relation and are endowed with the notions one expects of relations: Converse, an order, and intersection --to name a few.

An allegory can be thought of a a middle ground between a category and a topos.

As your remark points out, the arrows --i.e., relations-- in an allegory that are functional, in nearly the same way as in set theory, form a category themselves.