Abstract
Our approach to data integration is based on combining techniques from functional programming, category theory and database theory. We present formalism for schema mapping between databases using category-theoretic adjunctions. This leads to a query language which is a pushout of multi-sorted equational theories. Our approach can handle both schema mapping and instance mapping.