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