Abstract
SQL, Structured Query Language, supported by most relational database systems since its introduction by IBM in the mid 1970s, has been widely accepted and has enjoyed much popularity because of its declarativeness and the simplicity of its English-like syntax and semantics. SQL satisfied classical database applications which merely involved basic database storage and retrieval operations. However, with the emergence of modern database applications such as CAD and SE databases, we have discovered shortcomings of SQL. A severe problem is the inability of SQL to handle recursion. A relation being defined can not be referenced in conjunction with its own definition. Consequently, a whole class of application problems which require the use of recursion can not be solved with the power of SQL alone. This paper has proposed an enhancement to SQL. The enhanced version is called Recursive SQL, or simply SQL ∗. The paper begins with the examination of the recursion facilities of Datalog, a logic-based language, and then introduces a similar scheme to extend the syntax and semantics of SQL to provide recursive capabilities. The resultant language, SQL ∗, has been implemented using a bottom-up incremental query evaluation strategy. SQL ∗ makes it possible to express recursive queries as natural as they would be expressed in Datalog or in some other logic-based language. Moreover, SQL ∗ still uses the original SQL-like syntax. Using SQL ∗, modern database and knowledge-base applications now become feasible.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.