Database Reference
In-Depth Information
an update performed on a source database, but from merging multiple independent
data sources. For instance, if we know that a person should have a single address but
multiple data sources contain different addresses for the same person, it is not clear
how to resolve this violation through aborting some update.
The common approach for dealing with inconsistency in contexts such as database
integration is that of “accepting” it and providing appropriate mechanisms to extract
reliable information from inconsistent data. Specifically, the key idea to inconsis-
tency handling is to live with an inconsistent database, modifying query semantics
in order to obtain only consistent information as answers. In fact, when a query
is posed on an inconsistent database (according to the traditional semantics) it is
possible to yield information which are not consistent with respect to the integrity
constraints. Pieces of information contained in an inconsistent database can be rea-
sonably assumed to be consistent if they persist after applying all the possible “mini-
mal” ways of restoring consistency of the database. Here, the term “minimal” means
that the restoration of consistency should be accomplished with a minimal impact on
the original inconsistent database, trying to preserve as much information as possi-
ble. This reasoning is at the basis of two fundamental notions: repair and consistent
query answer . The former is a consistent version of the inconsistent database which
is “as close as possible” to the original instance, and the latter consists of the set of
answers that can be obtained by posing the query on every repaired database.
The following example describes these two notions in a typical inconsistency-
prone data integration scenario: data from two consistent source databases are inte-
grated, and the resulting database turns out to be in an inconsistent state.
Example 1.1. Consider the relation scheme Teaches
(
Course
,
Pro f essor
)
, where the
attribute Course is a key for Teaches . Assume there are the following two different
instances of Teaches :
C ourse P ro f essor
CS
C ourse P ro f essor
CS
Mary
Frank
M ath
John
M ath
John
Each of the two instances satisfies the key constraint but, from their union we
derive the following inconsistent relation:
C ourse P ro f essor
CS
Mary
Math
John
CS
Frank
The above-reported relation does not satisfy the key constraint since there are
two distinct tuples with the same value for the attribute Course .
We can consider as minimal ways for restoring consistency of the database, i.e.
repairs for this database, the following two relations obtained by deleting one of the
two tuples that violate the key constraint.
Search WWH ::




Custom Search