Many problems encountered when building applications of database systems in
volve the manipulation of models. By "model," we mean a complex structure t
hat represents a design artifact, such as a relational schema, object-orien
ted interface, UML model, XML DTD, web-site schema, semantic network, compl
ex document, or software configuration. Many uses of models involve managin
g changes in models and transformations of data from one model into another
. These uses require an explicit representation of "mappings" between model
s. We propose to make database systems easier to use for these applications
by making "model" and "model mapping" first-class objects with special ope
rations that simplify their use. We call this capability model management.
In addition to making the case for model management, our main contribution
is a sketch of a proposed data model. The data model consists of formal, ob
ject-oriented structures for representing models and model mappings, and of
high-level algebraic operations on those structures, such as matching, dif
ferencing, merging, selection, inversion and instantiation. We focus on str
ucture and semantics, not implementation.