Simplified Integrity Checking for an Expressive Class of Denial Constraints

Data integrity is crucial for ensuring data correctness and quality and is maintained through integrity constraints that must be continuously checked, especially in data-intensive systems like OLTP. While DBMSs handle very simple cases of constraints (such as primary key and foreign key constraints)...

Full description

Saved in:
Bibliographic Details
Main Author: Davide Martinenghi
Format: Article
Language:English
Published: MDPI AG 2025-02-01
Series:Algorithms
Subjects:
Online Access:https://www.mdpi.com/1999-4893/18/3/123
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Data integrity is crucial for ensuring data correctness and quality and is maintained through integrity constraints that must be continuously checked, especially in data-intensive systems like OLTP. While DBMSs handle very simple cases of constraints (such as primary key and foreign key constraints) well, more complex constraints often require ad hoc solutions. Research since the 1980s has focused on automatic and simplified integrity constraint checking, leveraging the assumption that databases are consistent before updates. This paper presents program transformation operators to generate simplified integrity constraints, focusing on complex constraints expressed in denial form. In particular, we target a class of integrity constraints, called extended denials, which are more general than tuple-generating dependencies and equality-generating dependencies. One of the main contributions of this study consists in the automatic treatment of such a general class of constraints, encompassing the all the most useful and common cases of constraints adopted in practice. Another contribution is the applicability of the proposed technique with a “preventive” approach; unlike all other methods for integrity maintenance, we check whether an update will violate the constraints <i>before</i> executing it, so we never have to undo any work, with potentially huge savings in terms of execution overhead. These techniques can be readily applied to standard database practices and can be directly translated into SQL.
ISSN:1999-4893