|
JCC's SQL Standards Page
|
This page is designed to be a central source of information about
the SQL standards process and its current state. It also contains pointers to other sources
of information about the SQL standard. The information available here is:
Current Status
While the SQL
Standard is often perceived as established technology, rather than the innovative,
cutting edge technology it was when the standards process started in early
1980's, it is still an expanding,
evolving, relevant standard.
The original SQL standard
was completed as a USA ANSI
(American National Standards Institute) standard in 1986, and adopted as an ISO (International Standards
Organization) standard in 1987. Expansions and revisions were released in 1989 and 1992.
To allow relevant pieces to progress at different rates, the SQL standard has
been divided into multiple parts. Two of these parts were completed in the
1990's, as additions to SQL-1992. SQL/CLI (Call Language Interface) was
completed in 1995 and SQL/PSM (Persistent Stored Modules) was completed in 1996.
Revisions and expansions to Parts one through five were completed in 1999.
Following the completion of SQL:1999, there has been significant work on SQL
with Java (a Sun trademark) and XML, as well as the use of SQL to manage
data external to an SQL database.
Another revision to all of the parts was completed as SQL:2003. Since
SQL:2003, the SQL standards committees have expanded XML support and corrected
some errors. The expanded SQL/XML standard was published in 2006 and
a full revision of all nine parts was published in 2008.
In 2007, WG3 made the decision that, following the completion of SQL:2008, four of the nine parts were stable enough
that they did not need additional expansion. The remaining five parts, SQL/Framework, SQL/Foundation,
SQL/PSM, SQL/Schemata, and SQL/XML, are on target for completion of another revision in 2011.
In addition to the
SQL standards, there is a separate set of specifications called SQL/MM
that is a multi-media expansion of the SQL Standard.
SQL Parts and Events
Over the years, the
SQL standard has expanded and multiplied. Parts have been split out and rejoined.
As a result, the pedigree and status of the various pieces of completed
and developing standards can be quite confusing.
The following three charts may help to clarify the parts of the standard. The first
provides a brief explanation of the part. The second is a timeline that shows activity for each part
for each version of the standard. The third shows the number of pages devoted to each part
in each of the standards.
Explanation of Parts of the Standard |
Part |
Explanation |
Part 1 - SQL/Framework |
Contains information common to all parts of the standard and describes the parts.
|
Part 2 - SQL/Foundation |
SQK Data definition and data maniputlation syntax and semantics, including SQL embedded in non-object programming languages.
|
SQL/OLAP |
Online Analytical Processing: Amendment describing functions and operations useful for analytical processing.
|
Part 3 - SQL/CLI
| Call Level Interface: Corresponds to ODBC.
|
Part 4 - SQL/PSM |
Persistent Stored Modules: Stored routines, external routines, and procedural language extensions to SQL.
|
Part 5 - SQL/Bindings
| Embedded SQL.
|
Part 6 - SQL/Transaction |
SQL specialization of the X-Open XA specification. Project has been canceled.
|
Part 7 - SQL/Temporal |
Extensions to SQL to deal with time-oriented data types.
There has been some difference of opinion on the requirements and details of Temporal. For more details on this topic,
see the books Developing Time-Oriented Database Applications in SQL by Richard Snodgrass and
Christian Jensen and Temporal Data and the Relational Model by C.J. Date, Hugh Darwen, and Nikos Lorentzos.
This project has been withdrawn.
|
Part 8 - SQL/Objects Extended Objects |
During
the development of SQL-1999, there was a great deal of discussion and change in
the object model to be supported. To
isolate these changes, the Object portion was separated into a separate part. As the object model stabilized during the
completion of SQL-1999, the object oriented capabilities were merged back into
SQL/Foundation, so this part no longer exists.
|
Part 9 - SQL/MED |
Management of External Data: Adds syntax and definitions to SQL/Foundation to allow SQL access to non-SQL data sources (files).
|
Part 10 - SQL/OLB |
Object Language Bindings: Specifies
the syntax and semantics of embedding SQL in Java™. Works in conjunction with JDBC but supports
applications that do not need the dynamic SQL capabilities provided by
JDBC. This corresponds to what the SQLJ
group refers to as SQLJ part 0. Martin
Gruber refers to this as "Embedded SQL.J"
|
Part 11 - SQL/Schemata |
Information and Definition Schemas
|
Part 12 - SQL/Replication |
Replication facilities for SQL. This project began in 2000. The goal is to define syntax and semantics to allow
definition of replication schemes and rules, including rules for resolution of update conflicts.
|
Part 13 - SQL/JRT |
Java Routines and Types: Routines using the Java™ Programming Language (Persistent Stored SQLJ)
|
Part 14 - SQL/XML |
SQL and XML
|
Timeline |
Part |
SQL 1992 |
SQL 1999 |
SQL 2003 |
SQL 2008 |
SQL 2011 (FCD) |
Part 1 - SQL/Framework |
|
Completed |
Completed |
Completed |
In progress |
Part 2 - SQL/Foundation |
Completed (includes bindings and schema information tables) |
Completed |
Completed (SQL/Bindings merged in; schema information tables separated out) |
Incremental expansions and some bug fixes. |
System Versioned Tables |
SQL/OLAP |
|
Processed as an amendment to SQL/Foundation |
OLAP amendment merged into SQL/Foundation |
Part 3 - SQL/CLI |
Completed in '95 as an expansion to SQL-92 |
Completed |
Completed |
Completed |
Part 4 - SQL/PSM |
Completed in '96 as an expansion to SQL-92 |
Completed (stored routines and call statement moved to SQL/Foundation) |
Completed |
Completed |
In Progress |
Part 5 - SQL/Bindings |
|
Specification for embedding SQL in programming languages moved to a separate part. |
SQL/Bindings merged back into SQL/Foundation, |
Part 6 - SQL/Transaction |
|
Project canceled due to lack of need |
Part 7 - SQL/Temporal |
|
|
Project Canceled due to lack of progress. |
Part 8 - SQL/Objects Extended Objects |
|
Merged into SQL/Foundation |
Part 9 - SQL/MED |
|
ISO version based on SQL-99 |
Revision completed |
Completed |
Part 10 - SQL/OLB |
completed in '98 as an ANSI only standard |
ISO version based on SQL-99 completed |
Revision completed |
Completed |
Part 11 - SQL/Schemata |
|
|
Schema information tables extracted from SQL-99 completed |
Completed |
In Progress |
Part 12 - SQL/Replication |
|
Became a project in 2000, with goal of defining syntax and semantics to support definition of
replication schemes and rules, including rules for resolution of update conflicts.
|
Project canceled due to lack of progress. |
Part 13 - SQL/JRT |
completed in '99 as an ANSI only standard |
|
Revision completed |
Completed |
Part 14 - SQL/XML |
| |
Completed |
Expansion completed in 2006.
Support for XQuery Update added in 2008.
|
In progress |
Pages Devoted to Different Sections |
Part |
SQL 1992 Pages |
SQL 1999 Pages |
SQL 2003 Pages |
SQL 2008 Pages |
SQL 2011 (FCD) Pages |
Part 1 - SQL/Framework |
|
85 |
81 |
93 |
90 |
Part 2 - SQL/Foundation |
628 |
1,147 |
1,267 |
1,366 |
1,422 |
Part 3 - SQL/CLI (1995) |
236 |
421 |
402 |
405 |
|
Part 4 - SQL/PSM (1996) |
256 |
170 |
184 |
191 |
196 |
Part 5 - SQL/Bindings |
|
261 |
|
|
|
Part 9 - SQL/MED |
|
|
498 |
486 |
|
Part 10 - SQL/OLB |
|
|
405 |
415 |
|
Part 11 - SQL/Schemata |
|
|
296 |
298 |
298 |
Part 13 - SQL/JRT |
|
|
204 |
208 |
|
Part 14 - SQL/XML |
|
|
266 |
447 |
447 |
Total |
1,120 |
2,084 |
3,606 |
3,906 |
2,456 |
Getting Copies of the Standards
Because of ANSI and ISO copyright restrictions, copies of
the SQL standards specifications are available only for purchase.
Electronic (PDF) of printed copies of the SQL standards are
available from several sources.
- ISO – http://www.iso.ch, click on "ISO STORE", and search
for 9075. Prices are in Swiss Francs.
- ANSI – http://www.ansi.org/, click on "Access Standards - eStandards Store" and
search for "SQL Language".
- Make sure you choose the 2008 versions
- Note that there are two variants of each document:
- INCITS/ISO/IEC 9075-*-2008
- ISO/IEC 9075-*:2008
(The "INCITS/ISO/IEC"
variants of the documents are US$ 30.00 per document. The "ISO/IEC" variants range from
US$ 180 to US$ 451 per document. The
content of the documents is identical.)
The SQL Standards Process
The process of
creating a standard involves a lot of work by a lot of people, and a certain
amount of bureaucracy.
International (ISO)
In the
international arena, the SQL Standard is developed by a committee designated as
ISO/IEC JTC 1/SC 32 Data Management and Interchange/WG 3 – Database Languages.
This committee is made up of delegations from the participating countries.
- Officers
- Convenor – Keith Hare - USA
- Editor – Jim Melton – USA
- Active participants are:
- USA
- Canada
- Great Britain
- Netherlands
- Germany
- Japan
- China
WG3 usually meets
twice a year to discuss and process proposed changes, additions, and/or
corrections from various participants.
Each of the member
countries have different organizations and procedures for determining who will
be members of the delegation to WG3 and which proposed changes will be
supported.
United States
Within the USA, the SQL
Standards work is done by the ANSI INCITS DM32.2 Database committee.
Note: DM32.2 used to be INCITS H2 until mid 2009 when INCITS restructured committees to match the ISO/IEC SC 32 structure.
INCITS (InterNational Committee for Information
Technology Standards) is an ANSI (American National Standards Institute)
accredited standards producing organization. According to the INCITS web site
(http://www.incits.org):
INCITS is sponsored by the Information Technology Industry Council
(ITI), a trade association representing the leading U.S. providers of information
technology products and services
Participation
within DM32.2 is by technical experts from companies – one vote per company. The current membership of the committee is:
- Officers
- Chair: Don Deutsch – Oracle Corporation
- Vice Chair: Keith Hare – JCC Consulting, Inc.
- Secretary – Mike Gorman – Whitemarsh
- International Representative – Krishna Kulkarni –
IBM
- Editor – Jim Melton – Oracle
- Participating Companies
- Bentley Systems
- Bureau of Labor Statistics
- CA
- HP
- IBM
- Ingres
- Intersystems
- JCC Consulting, Inc.
- Microsoft
- Oracle Corporation
- Software Workshop, Inc.
- Sybase
- Teradata
- Whitemarsh Information Systems
SQL/MM
Within the international SQL standards efforts, SQL/MM is the
responsibility of the committee ISO/IEC JTC 1/SC 32/WG 4 SQL/Multimedia and
application packages. The current parts of SQL/MM are:
- SQL/MM Part 1: Framework
- SQL/MM Part 2: Full Text
- SQL/MM Part 3: Spatial
- SQL/MM Part 5: Still image
- SQL/MM
Part 6: Data mining
Disclaimer
The JCC SQL Standards Page was created and is maintained
by Keith W. Hare (keith@jcc.com) of JCC Consulting,
Inc. Keith is a current voting member of INCITS DM32.2, has participated in
the ANSI SQL standards process since
1988, is the current Vice Chair of the US committee, and is
the Convenor (Chair) of ISO/IEC JTC 1/SC32 WG3 (international SQL Standards Committee). Any opinions or positions
expressed here are Keith's and do not necessarily represent the opinions
or positions of INCITS DM32.2, ISO/IEC JTC1/SC 32/WG3 DBL, or any of the other
members of either committee.
Send mail to info@jcc.com
with additional questions or comments.
Copyright © 2005 - 2010, JCC Consulting,
Inc.
Last modified: July 1, 2010
Trademarks and credits.