Catriel Beeri, Ronald Fagin, et al.
SIGMOD 1977
A schema mapping is a specification that describes how data structured under one schema (the source schema) is to be transformed into data structured under a different schema (the target schema). Although the notion of an inverse of a schema mapping is important, the exact definition of an inverse mapping is somewhat elusive. This is because a schema mapping may associate many target instances with each source instance, and many source instances with each target instance. Based on the notion that the composition of a mapping and its inverse is the identity, we give a formal definition for what it means for a schema mapping M′ to be an inverse of a schema mapping M for a class S of source instances. We call such an inverse an S-inverse. A particular case of interest arises when S is the class of all instances, in which case an S-inverse is a global inverse. We focus on the important and practical case of schema mappings defined by source-to-target tuple-generating dependencies, and uncover a rich theory. When S is defined by a set of dependencies with a finite chase, we show how to construct an S-inverse when one exists. In particular, we show how to construct a global inverse when one exists. Given M and M′, we show how to define the largest class S such that M′ is an S-inverse of M. Copyright 2006 ACM.
Catriel Beeri, Ronald Fagin, et al.
SIGMOD 1977
Ronald Fagin, Phokion G. Kolaitis, et al.
ACM TODS
Marcelo Arenas, Pablo Barceló, et al.
Information and Computation
Allan Borodin, Ronald Fagin, et al.
Journal of Symbolic Computation