TINTIN: a Tool for Incremental INTegrity checking

Període:
desembre, 2021 –
novembre, 2023
Client:
Responsable:
Equip participant inLab FIB:
Experteses:
Tecnologies:
TINTIN: a Tool for Incremental INTegrity checking

Descripció

El projecte consisteix en el desenvolupament de TINTIN, una eina per donar suport a les assercions SQL en bases de dades relacionals.

Les assercions SQL és la forma estàndard de definir restriccions de negoci, és a dir, restriccions que les dades del nostre sistema han de satisfer. Algunes restriccions de negoci, com per exemple claus primàries o claus foranes, ja tenen un suport natiu en els Sistemes Gestors de Bases de Dades (SGBD) actuals, però cap SGBD no és capaç de comprovar restriccions més genèriques que requereixen, precisament de l’ús de assercions. Això implica que, a dia d’avui, per implementar aquestes validacions, els desenvolupadors software han de dedicar hores i esforços en la implementació manual d’aquestes comprovacions, fet que comporta un sobrecost en el projecte, per no dir que posa en risc la seva qualitat en tant com aquesta activitat, al ser manual, és molt propensa als errors.

Amb aquest projecte es preveu construir una prova de concepte que permetria donar suport, automàticament, a les assercions. Els usuaris d’aquesta eina seran enginyers software que, gràcies a la capacitat automàtica de comprovació de restriccions de negoci, podran delegar la programació de regles de validació de dades a aquesta eina, fet que implicarà un estalvi de costs i augment de qualitat en el desenvolupament del seu software. La idea principal que els usuaris introdueixin a TINTIN les seves regles de negoci que vol que es comprovin, en format de assercions SQL, i que TINTIN generi, a partir d’aquestes, i sense necessitat d’intervenció de l’usuari, una sèrie de disparadors i procediments a nivell de base de dades que les comprovi automàticament.

Pel desenvolupament del projecte es parteix d’un prototip d’investigació, el qual serà estès per tal de facilitar la seva integració en les bases de dades, donar suport a entorns amb transaccions concurrents, i augmentar la seva capacitat operativa (tant en termes d’expressivitat de llenguatge, com en termes de tecnologies de bases de dades)

Proyecto PDC2021-121363-I00 de investigación financiado por MCIN/AEI /10.13039/501100011033 y por la Unión Europea Next GenerationEU/ PRTR