ACM SIGMOD Anthology ACM SIGMOD dblp.uni-trier.de

SQL

by Jim Melton (Oracle Corporation)

Introduction

In 1999, the third generation of the SQL standard was published after a lengthy development period. The first two generations had appeared in 1986 and 1992 (with an intervening minor revision in 1989). The project known as SQL3 was thus not completed until seven years after the publication of the 1992 version of the standard. In fact, development of some features was started more than a year before SQL-92 was published.

Development of SQL:1999 was aided significantly by several people: Donald R. Deutsch, chair of NCITS H2 ("Database"), and Michael Gorman, H2 Secretary (whom we thank for finding in his vast archives a copy of the Shaw paper in this collection), Leonard Gallagher, early chair ("Rapporteur") of the Database Languages Rapporteur Group in ISO, and Stephen Cannan, current chair ("Convenor") of ISO/IEC JTC1/SC32/WG3 ("Database languages").

SQL:1999 is a significant extension of SQL-92, containing a number of new features and enhancements, many readily fitting into the traditional relational underpinnings of SQL. However, one aspect of the new SQL standard, arguably the most widely anticipated feature, is the addition of object technology to the language. Numerous articles, conference papers, and presentations (and even a couple of books) documented SQL:1999's object-oriented features, including the later stages of its development.

Here, we present a partial survey of this important aspect of SQL, covering only the earlier stages of its development, showing how the main ideas were introduced almost a decade before the revision was completed. The papers included in this collection are provided complete, in their original form. They thus include motivation and discussion of the capabilities being proposed, but they also include detailed changes to drafts of the SQL specification that are no longer accessible. However, we felt that it was useful to retain those change instructions because of the supporting details that can be found in them.

Summary of the Papers

The first paper of which we are aware that discussed topics related to object technology in SQL was submitted in November, 1989 by Jon M. Kerridge. This paper, entitled "A proposal to add user-defined data types to SQL" (numbered ISO/IEC JTC1/SC21/WG3 DBL FIR-37R and X3H2-89-319REV) is not included in this collection only because we have been unsuccessful in locating the author and getting his permission to include it. The specific details proposed by Kerridge are not found in SQL:1999, because they were overtaken by later events, but we think it worth noting that this paper appeared approximately at the same time as the publication of SQL-89! A few months later, Phil Shaw (then with IBM) submitted ISO/IEC JTC1/SC32/WG3 DBL LON-171 and X3H2-90-292, named "Modification of User Defined Types", which is the first paper in this collection. This paper was largely a response to Kerridge's, supporting the ability to define "complex values" in SQL. The facility proposed by Kerridge and by Shaw's response was characterized by some participants as "C structs expressed in SQL". As you will see in the paper, the focus was on structure and not behavior; therefore, it is not fully "object oriented", but is a significant step in that direction. Shaw's paper received its own response, a paper numbered X3H2-90-412 and titled "Object Oriented DBMS as a Generalization of Relational DBMS", by David Beech and Cetin Ozbutun. In this paper, Beech and Ozbutun described an approach to augmenting relational database systems with true object capabilities (particularly the notion of object identity, at the time quite alien to the value-oriented world of SQL) and might be viewed as an introductory vision to what has become known as object-relational database. Inspired by the interest generated by the papers from Kerridge, Shaw, and Beech and Ozbutun, as well as the famous "Object-Oriented Database System Manifesto", Jim Melton, Jonathan Bauer, Krishna Kulkarni (all with Digital Equipment Corporation at the time) wrote the paper numbered ISO/IEC JTC1/SC32/WG3 DBL ARL-029 and X3H2-91-083rev1, titled "Object ADTs (with improvements for Value ADTs)", and submitted it to the SQL standards bodies. This paper provided the first features of SQL that provided both structure for stored data and behavior provided by a functional interface. The abstract data types that it proposed were highly controversial, but the paper also resulted in enormous interest in SQL standards development. Only a few months later, the same authors, with one addition (Mike Kelley, also of Digital) added significantly both to the object facilities being developed and the controversy. The paper numbered ISO/IEC JTC1/SC32/WG3 DBL KAW-006 and X3H2-91-133rev1 was named "Inheritance for ADTs" and introduced the notion of a type hierarchy to SQL.

Unfortunately, as development proceeded, it became clear that the complexities of having two sorts of user-defined types - value types and object types - were threatening to overwhelm the resources of SQL's developers. Paper ISO/IEC JTC1/SC32/WG3 DBL KAW-047 and X3H2-92-062, "Unification of Value and Object ADTs", was written by David Beech and submitted as a proposal to reduce the complexity by unifying concepts that were obviously related but that were being maintained and debated separately.

These papers provided the foundation for SQL's object capabilities. Of course, over the following years, significant enhancements and modifications were made, even changes that fundamentally altered SQL's object model. That evolution was inspired by better understanding of object-relational's customer needs, by vendor experience in implementing the technology, and the wildfire success of Java in the marketplace. The later stages of SQL3's development have been widely discussed and documented, but the papers in this collection have previously been inaccessible, and may be of interest in showing how some of the concepts emerged.


ACM SIGMOD Anthology - DBLP: [Home | Search: Author, Title | Conferences | Journals]
ACM SIGMOD Anthology: Copyright © by ACM (info@acm.org), Corrections: anthology@acm.org
DBLP: Copyright © by Michael Ley (ley@uni-trier.de), last change: Sat May 16 22:55:23 2009