Database Reference
In-Depth Information
20
Inverting schema mappings
The inverse operator is another important operator that naturally arises in the development
of a framework for managing schema mappings. Once the data has been transferred from
the source to the target, the goal of the inverse is to recover the initial source data; if a
mapping
M is an inverse of a mapping
M should bring the data exchanged
M
,then
through
back to the source.
In the study of this operator, the key issue is to provide a good semantics for this oper-
ator, which turned out to be a difficult problem. In this chapter, we present and compare
two main approaches to inverting schema mappings. One of them, leading to an inverse
operator, simply defines an inverse of a mapping
M
M
as a mapping that produced the iden-
tity mapping when composed with
. A different proposal is to look for the maximum
amount of information that can be inferred from the exchanged data: this approach leads to
an alternative notion of maximum recovery. We define, study, and compare these notions.
M
20.1 A first definition of inverse
We start by considering the first notion of inverse for schema mappings proposed in the
literature, which we call inverse in this chapter. Roughly speaking, the definition of this
notion is based on the idea that a mapping composed with its inverse should be equal to
the identity schema mapping. Thus, given a schema R, an identity schema mapping Id R
is first defined as
. The subset relation
used here emphasizes that we continue to follow the open-world assumption, that lets us
extend instances with arbitrary facts. In fact, this identity is appropriate for the class of
mappings specified by st-tgds (and, more generally, for the class of mappings that are total
and closed-down on the left, which is defined in the following section).
Using this notion of identity mapping, we can then defined the inverse as follows.
{
( S 1 , S 2 )
| S 1 , S 2 are instances of R and S 1 S 2 }
Definition 20.1 (Inverse) Let
be a mapping from a schema R 1 to a schema R 2 ,and
M a mapping from R 2 to R 1 .Then
M
M is an inverse of
M
if
M ◦M = Id R 1 .
If such an inverse exists, then we say that
M
is invertible .
Search WWH ::




Custom Search