The project consists of the development of TINTIN, a tool to support SQL assertions in relational databases.
SQL statements are the standard way to define business constraints, that is, constraints that our system data must meet. Some business restrictions, such as primary or foreign keys, already have native support in current Database Management Systems (DBMSs), but no DBMS is able to verify more generic restrictions that require, precisely, the use of assertions. This means that, today, to implement these validations, software developers must devote hours and effort to the manual implementation of these checks, which entails an additional cost in the project, not to mention that it puts at risk the its quality insofar as this activity, being manual, is very prone to errors.
With this project it is planned to build a proof of concept that would allow to support, automatically, the assertions. The users of this tool will be software engineers who, thanks to the automatic ability to check business restrictions, will be able to delegate the programming of data validation rules to this tool, which will involve cost savings and increased quality in the software development. The main idea is for users to enter into TINTIN their business rules that they want to be checked, in SQL statement format, and for TINTIN to generate, from these, and without the need for user intervention, a series of triggers and database-level procedures that automatically check them.
The development of the project is based on a research prototype, which will be extended in order to facilitate its integration into databases, support environments with concurrent transactions, and increase its operational capacity (both in terms of expressiveness of language, as in terms of database technologies)
Proyecto PDC2021-121363-I00 de investigación financiado por MCIN/AEI /10.13039/501100011033 y por la Unión Europea Next GenerationEU/ PRTR