R-SQL: An SQL Database System with Extended Recursion
DOI:
https://doi.org/10.14279/tuj.eceasst.64.987Abstract
The relational database language SQL:1999 standard supports recursion, but this approach is limited to the linear case. Moreover, mutual recursion is not supported, and negation cannot be combined with recursion. We designed the languageR-SQL to overcome these limitations, improving termination properties in recursive definitions. In addition we developed a proof of concept implementation of an R-SQL system. In this paper we describe in detail an improved system enhancing performance. It can be integrated into existing RDBMS's, extending them with the aforementioned benefits of R-SQL. The system processes an R-SQL database definition obtaining its extension in tables of an RDBMS (such as PostgreSQL and DB2). It is implemented in SWI-Prolog and it produces a Python script that, upon execution, computes the result of the R-SQL relations. We provide some performance results showing the efficiency gains w.r.t. the previous version. We also include a comparative analysis including some representative relational a deductive systems.
Downloads
Published
2014-11-26
How to Cite
[1]
F. Sáenz-Pérez, S. Nieva, J. Sanchez-Hernandez, and G. Aranda, “R-SQL: An SQL Database System with Extended Recursion”, eceasst, vol. 64, Nov. 2014.
Issue
Section
Articles
License
Copyright (c) 2015 Electronic Communications of the EASST
This work is licensed under a Creative Commons Attribution 4.0 International License.