Don't go gaga with GIGO
Hendrik Decker, Davide Martinenghi
TL;DR
This work revisits integrity checking in relational and deductive databases with an approach that tolerates erroneous, inconsistent data, and formally characterize this property, that is called inconsistency tolerance, and state its validity for some well-known methods for integrity checking.
Abstract
We revisit integrity checking in relational and deductive databases with an approach that tolerates erroneous, inconsistent data. In particular, we relax the fundamental prerequisite that, in order to apply any method for simplified integrity checking, all data must initially have integrity. As opposed to a long-standing belief, integrity in the old state before the update is not needed for a correct application of simplification methods. Rather, we show that correct simplifications preserve what was consistent across updates. We formally characterize this property, that we call inconsistency tolerance, and state its validity for some well-known methods for integrity checking.
