Back to Search
Start Over
TINTIN: A management Tool for concurrent INcremental INTegrity checking of SQL assertions
- Publication Year :
- 2023
- Publisher :
- Universitat Politècnica de Catalunya, 2023.
-
Abstract
- En qualsevol sistema d'informació existeix un conjunt de regles de negoci que les dades han de complir per constituir un estat vàlid. L'estàndard SQL defineix les assercions com una manera d'expressar aquestes regles directament a la base de dades, tanmateix, els Sistemes Gestors de Bases de Dades Relacionals moderns no donen suport a les assercions a causa de la baixa eficiència en temps d'execució. La validació d'integritat es pot fer de forma incremental, assumint que la base de dades és consistent i només tenint en compte el conjunt de modificacions de dades al avaluar si provocarien la violació d'una asserció. En aplicacions reals, es gestionen múltiples connexions d'usuaris simultàniament, i per tant es generen molts conjunts de modificacions de dades que s'han de comprovar. Aquesta tesi de final de grau parteix d'un mètode incremental capaç de comprovar, eficientment, els efectes d'una sola transacció, i l'amplia per introduir la capacitat de comprovar concurrentment si múltiples transaccions poden provocar una violació per si soles o conjuntament. Això s'aconsegueix proposant un algorisme que transforma regles que es comproven de forma serial en regles que poden ser comprovades de forma concurrent. A la segona part del treball, s'implementa l'algorisme suggerit en una eina que, donat un conjunt d'assercions en SQL estàndard i un esquema de base de dades, compila automàticament la infraestructura necessària dins la base de dades i genera una sèrie de vistes SQL que poden comprovar, eficientment, la integritat de conjunts de modificacions de dades provinents de múltiples transaccions concurrents. L'eina també permet als seus usuaris modificar assercions existents o introduir-ne de noves, per tant, es tracta d'una eina per a gestionar la comprovació d'integritat incremental concurrent d'assercions en SQL. Any information system has a defined set of business rules that the data must satisfy to constitute a valid state. The SQL standard defines assertions as a way to express these rules directly into the database, however, modern Relational Database Management Systems do not support assertions due to lack of efficiency in execution time. Integrity checking can be performed in an incremental manner, where the database is assumed to be consistent and only the set of data modifications are considered when evaluating if they would produce an assertion violation. In real world applications, multiple user connections are handled simultaneously, generating many sets of data modifications that need to be checked. This thesis extends an incremental approach that was capable of efficiently checking the effects of a single transaction, and introduces the capability of concurrently checking if multiple transactions can produce a violation by themselves or combined. This is achieved by proposing an algorithm that transforms the serially-checked constraints of the previous method into concurrently-checked ones. In the second part of the thesis such algorithm is implemented into a tool that can receive a set of standard SQL assertions and a target database schema as an input, and automatically compile the necessary infrastructure into the database and generate a series of SQL views that efficiently check the integrity of data modifications from multiple concurrent transactions. The tool also enables its users to modify any existing assertions or introduce new ones, which makes it a management tool for concurrent incremental integrity checking of SQL assertions.
- Subjects :
- SQL (Computer program language)
Regles lògiques
Assercions
Regles de negoci
SQL
Integrity
Assertions
Informàtica::Sistemes d'informació [Àrees temàtiques de la UPC]
Integritat
First-Order Logic
Lògica de Primer Ordre
SQL (Llenguatge de programació)
Bases de Dades Relacionals
Relational Databases
Comprovació incremental
Concurrency
Business rules
Incremental validation
Concurrència
Logic constraints
Subjects
Details
- Language :
- English
- Database :
- OpenAIRE
- Accession number :
- edsair.od......3484..2d3dfcf4b730864fa9c3869390cc8367