Inverting schema mappings
Article Ecrit par: Fagin, Ronald ;
Résumé: 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 mappingM 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 source instances, in which case an S-inverse is a global inverse. We focus on the important and practical case of schema mappings specified by sourceto- target tuple-generating dependencies, and uncover a rich theory. When S is specified 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. GivenMandM, we show how to define the largest class S such thatM is an S-inverse ofM. Categories and Subject Descriptors: H.2.5 [Database Management]: Heterogeneous Databases— Data translation; H.2.4 [Database Management]: Systems—Relational data bases General Terms: Algorithms, Theory
Langue:
Anglais