Title :
Proving the safety of SQL queries
Author :
Brass, Stefan ; Goldberg, Christian
Author_Institution :
Martin-Luther-Univ., Halle-Wittenberg, Germany
Abstract :
Many programs need to access data in a relational database. This is usually done by means of queries written in SQL. Although the language SQL is declarative, certain runtime errors are possible. Since the occurrence of these errors depend on the data, they are not easily found during testing. The question whether a query is safe can be reduced to a consistency check. It is well known that consistency is in general undecidable, and that this applies also to SQL queries. However, in this paper, we propose a consistency check that can handle a surprisingly large subset of SQL (it uses Skolemization with sorted Skolem functions, and a few other tricks). This consistency check is also the basis for generating other semantic warnings. Furthermore, it can be used to generate test data for SQL queries.
Keywords :
SQL; relational databases; software quality; SQL query; relational database; sorted Skolem function; test data generation; Computer errors; Information analysis; Information systems; Logic; Programming profession; Relational databases; Runtime; Safety; Software quality; Testing; Consistency.; Runtime Errors; SQL;
Conference_Titel :
Quality Software, 2005. (QSIC 2005). Fifth International Conference on
Print_ISBN :
0-7695-2472-9
DOI :
10.1109/QSIC.2005.50