Database Reference
In-Depth Information
FLIGHT(src,dest,airl,dep) −→
f #
arr ( ROUTES(f#,src,dest)
INFO FLIGHT(f#,dep,arr,airl) )
FLIGHT(city,dest,airl,dep)
GEO(city,country,popul)
−→
phone SERVES(airl,city,country,phone)
−→
FLIGHT(src,city,airl,dep)
GEO(city,country,popul)
phone SERVES(airl,city,country,phone) .
The source-to-target dependencies guide the construction of target instances. For exam-
ple, given the source instance
S =
{ FLIGHT ( Paris , Santiago , AirFrance , 2320)
}
,
one possible target instance - a solution - is the instance T below:
{
ROUTES (
1 , Paris , Santiago ) , INFO FLIGHT (
1 , 2320 ,
2 , AirFrance )
}
,
where
1 ,
2 are null values.
To reiterate, in data exchange we have source and target schemas, and constraints that
relate them. These constitute relational schema mappings defined below.
Definition 4.2 (Relational mappings) A relational mapping
M
is a tuple (R s , R t ,
Σ st ,
Σ t ),
where:
R s and R t are relational schemas - R s is called the source schema, R t is called the target
schema;
Σ st is a finite set of source-to-target dependencies (i.e., dependencies over the relations
in R s and R t );
Σ t is a finite set of target dependencies (i.e., dependencies over R t ).
If the set
Σ t is empty, i.e., there are no target dependencies, we write
M
=(R s , R t ,
Σ st ).
We always assume that R s and R t do not have any relation names in common. If both
use the same relation name R , we simply rename R as R in the target schema.
The intuition behind the different components of these mappings is as follows:
Source-to-target dependencies in
Σ st are a tool for specifying conditions on the source
that entail a condition that must be satisfied by the target. Thinking operationally, one
can view them as a tool for specifying how source data gets translated into target data.
The translated data must satisfy usual database constraints. This is represented by means
of the target dependencies in
Σ t .
Source instances - that is, instances of R s - are assumed to take values from the domain
C ONST , usually referred to as constants. On the other hand, target instances - that is,
instances of R t - may use both constants from C ONST and null values, or nulls from the set
Search WWH ::




Custom Search