![]() |
![]() |
![]() |
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.
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.
Copyright © Fri Nov 27 19:30:01 2009 by Michael Ley (ley@uni-trier.de)