Databases Reference
In-Depth Information
them. Schema mappings can be used either to transform data between two differ-
ent schemas (a process typically called data exchange [ Fagin et al. 2005a ]or data
translation [ Shu et al. 1977 ]) or to support processing of queries formulated over
one schema when the data is physically stored under some other schemas (a pro-
cess typically encountered in data integration [ Lenzerini 2002 ]andalsoin schema
evolution [ Curino et al. 2008 ]).
A schema mapping is typically formalized as a triple . S ; T ;˙/,where S is a
source schema, T is a target schema, and ˙ is a set of dependencies (or con-
straints) that specify the relationship between the source schema and the target
schema. Schema mappings are necessarily dependent on the schemas they relate.
Once schemas change (and this inevitably happens over time), the mappings become
invalid. A typical solution is to regenerate the mappings; however, this process
can be expensive in terms of human effort and expertise, especially for complex
schemas. Moreover, there is no guarantee that the regenerated mappings will reflect
the original semantics of the mappings. A better solution is to provide principled
solutions that reuse the original mappings and adapt them to the new schemas, while
still incorporating the original semantics. This general process was first described
in Velegrakis et al. [ 2003 ], which called it mapping adaptation and also provided
a solution that applied when schemas evolve in small, incremental changes. In this
paper, we describe a more general formalization of the mapping adaptation prob-
lem, where schema evolution can be specified by an arbitrary schema mapping.
Under this formalization, which is in the spirit of model management [ Bernstein
2003 ], the new, adapted mapping is obtained from the original mapping through the
use of schema mapping operators.
The two operators on schema mappings that we need to consider are composi-
tion [ Bernstein et al. 2008 ; Fagin et al. 2005b ; Madhavan and Halevy 2003 ; Nash
et al. 2005 ]and inversion [ Arenas et al. 2008 ; Fagin 2007 ; Fagin et al. 2008b ,
2009b ]. These operators turn out to be quite fundamental, with many applications in
metadata management [ Bernstein 2003 ] and for schema evolution. In particular, the
two operators of composition and inversion provide a principled way to solving the
problem of adapting a schema mapping when schemas evolve. We will use Fig. 7.1
to describe, at a high-level, the operators of composition and inversion, and their
application in the context of schema evolution. First, assume that we are given a
schema mapping
(the “original” schema mapping) that describes a relationship
or a transformation from a source schema S to a target schema T .To“reuse”the
original schema mapping
M
when schemas evolve, we need to handle changes in
either the target schema or the source schema.
Target schema evolution. Assume that the target schema evolves to a new target
schema T 0 , and that we model this evolution as a schema mapping
M
M 0 from T
to T 0 . Intuitively,
M 0 is a new data transformation that converts instances of T to
instances of T 0 . Note that generating such
M 0 is an instance of the general schema
mapping creation problem and can be done manually or with the help of tools such
as Clio, described elsewhere [ Fagin et al. 2009a ]. Based on
M 0 , we can
then obtain a new mapping from S to T 0 by applying the composition operator.
Composition operates, in general, on two consecutive schema mappings
M
and
M
and
Search WWH ::




Custom Search