Rewriting-based Check of Chase Termination

The Chase is a fixpoint algorithm enforcing satisfaction of data dependencies (also called constraints) in databases. It has been proposed more than thirty years ago [2,18] and has seen a revival of interest in recent years in both database theory and practical applications. Indeed, the availability of data coming from different sources easily results in inconsistent or incomplete data (i.e., data not satisfying data dependencies) and, therefore, techniques for fixing inconsistencies are crucial [1,3,5,7,8,13,17]. The chase algorithm is used, directly or indirectly, on an everyday basis by people who design databases, and it is used in commercial systems to reason about the consistency and correctness of a data design. New applications of the chase in meta-data management, ontological reasoning, data exchange, data cleaning, and query optimization have been proposed as well [6,9]. The chase algorithm solves possible violations of constraints by inserting new tuples, possibly containing null values [4]. The following example shows a case where a given database does not satisfy a set of tuple generating dependencies (TGDs) and the application of the chase algorithm produces a new consistent database by adding tuples with nulls.

[1]  Bruno Marnette,et al.  Generalized schema-mappings: from termination to tractability , 2009, PODS.

[2]  Sergio Greco,et al.  A Logical Framework for Querying and Repairing Inconsistent Databases , 2003, IEEE Trans. Knowl. Data Eng..

[3]  Andrea Calì,et al.  Advanced processing for ontological queries , 2010, Proc. VLDB Endow..

[4]  David Maier,et al.  Testing implications of data dependencies , 1979, SIGMOD '79.

[5]  Jerzy Marcinkowski,et al.  All-Instances Termination of Chase is Undecidable , 2014, ICALP.

[6]  Maurizio Lenzerini,et al.  Data integration: a theoretical perspective , 2002, PODS.

[7]  Leopoldo E. Bertossi,et al.  Consistent query answering in databases , 2006, SGMD.

[8]  Jan Chomicki,et al.  Consistent query answers in inconsistent databases , 1999, PODS '99.

[9]  Sergio Greco,et al.  Incomplete Data and Data Dependencies in Relational Databases , 2012, Incomplete Data and Data Dependencies in Relational Databases.

[10]  Sergio Greco,et al.  Stratification criteria and rewriting techniques for checking chase termination , 2011, Proc. VLDB Endow..

[11]  Alin Deutsch,et al.  The chase revisited , 2008, PODS.

[12]  Georg Lausen,et al.  On Chase Termination Beyond Stratification , 2009, Proc. VLDB Endow..

[13]  Sergio Greco,et al.  Chase termination , 2010, Proc. VLDB Endow..

[14]  Sergio Greco,et al.  Active Integrity Constraints for Database Consistency Maintenance , 2009, IEEE Transactions on Knowledge and Data Engineering.

[15]  Maurizio Lenzerini,et al.  On reconciling data exchange, data integration, and peer data management , 2007, PODS '07.

[16]  Ronald Fagin,et al.  Data exchange: semantics and query answering , 2003, Theor. Comput. Sci..

[17]  Jan Chomicki,et al.  Consistent Query Answering: Five Easy Pieces , 2007, ICDT.

[18]  Catriel Beeri,et al.  Formal Systems for Tuple and Equality Generating Dependencies , 1984, SIAM J. Comput..

[19]  Alfred V. Aho,et al.  The theory of joins in relational data bases , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[20]  Phokion G. Kolaitis,et al.  Repair checking in inconsistent databases: algorithms and complexity , 2009, ICDT '09.