Graph explorer

Functorial Data Migration

In this paper we present a simple database definition language: that of categories and functors. A database schema is a small category and an instance is a set-valued functor on it. We show that morphisms of schemas induce three "data migration functors", which translate instances from one schema to the other in canonical ways. These functors parameterize projections, unions, and joins over all tables simultaneously and can be used in place of conjunctive and disjunctive queries. We also show how to connect a database and a functional programming language by introducing a functorial connection between the schema and the category of types for that language. We begin the paper with a multitude of examples to motivate the definitions, and near the end we provide a dictionary whereby one can translate database concepts into category-theoretic concepts and vice-versa.

4 nodes3 linksoverview mapFunctorial Data Migration
4 nodes3 links
Functorial Data Migration4 visible / 4 total nodes / 3 links
AuthorshipTopic signalTopic signalWFunctorial Data Migrationpreprint / 2013ADavid I. SpivakResearcherTDatabases1586 worksTmath.CT1150 works
PaperSignal 103 links

Functorial Data Migration

preprint / 2013

Open