Summary and Info
The premise behind developing powerful declarative database languages is compelling: by enabling users to specify their queries (and their integrity constraints) in a clear, non-operational way, they make the user's task easier, and provide the database system with more opportunities for optimization. Relational database systems offer a striking proof that this premise is indeed valid. The most popular relational query language, SQL, is based upon relational algebra and calculus, i.e., a small fragment of first-order logic, and the ease of writing queries in SQL (in comparison to more navigational languages) has been an important factor in the commercial success of relational databases. It is well-known that SQL has some important limitations, in spite of its success and popUlarity. Notably, the query language is non-recursive, and support for integrity constraints is limited. Indeed, recognizing these problems, the latest standard, SQL-92, provides increased support for integrity constraints, and it is anticipated that the successor to the SQL-92 standard, called SQL3, RECURSIVE UNION operation . Logic database systems have will include a concentrated on these extensions to the relational database paradigm, and some systems (e.g., Bull's DEL prototype) have even incorporated object-oriented features (another extension likely to appear in SQL3).