Home page JCC's SQL Standards Page
Home Consulting Training Products Services List Server Search Engine

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 will be completed in late 2005 or early 2006. A full revision of all parts is in process and is expected to be completed in 2007.

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 2007
Part 1 - SQL/Framework  CompletedCompleted 
Part 2 - SQL/Foundation Completed (includes bindings and schema information tables) CompletedCompleted (SQL/Bindings merged in; schema information tables separated out)  
SQL/OLAP  Processed as an amendment to SQL/Foundation  
Part 3 - SQL/CLI Completed in '95 as an expansionCompletedCompleted 
Part 4 - SQL/PSM Completed in '96 as an expansion Completed (stored routines and call statement moved to SQL/Foundation)Completed 
Part 5 - SQL/Bindings  Specification for embedding SQL in programming languages moved to a separate part. SQL/Bindings merged back into SQL/Foundation,/td> 
Part 6 - SQL/Transaction  project canceled  
Part 7 - SQL/Temporal   withdrawn 
Part 8 - SQL/Objects Extended Objects  Merged into SQL/Foundation  
Part 9 - SQL/MED  ISO version based on SQL'99 in processRevision completed 
Part 10 - SQL/OLB completed in '98 as an ANSI only standardISO version based on SQL'99 completed Revision completed 
Part 11 - SQL/Schemata   Schema information tables extracted from SQL'99 completed 
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. Dropped due to lack of progress. 
Part 13 - SQL/JRT completed in '99 as an ANSI only standard  Revision completed 
Part 14 - SQL/XML   CompletedExpansion completed in 2006. Revision coordinated with the other parts for 2007.

Pages Devoted to Different Sections
Part SQL 1992 Pages SQL 1999 Pages SQL 2003 Pages
Part 1 - SQL/Framework   85 81
Part 2 - SQL/Foundation 628 1,147 1,267
Part 3 - SQL/CLI (1995) 236 421 405
Part 4 - SQL/PSM (1996) 256 170 184
Part 5 - SQL/Bindings   261  
Part 9 - SQL/MED     498
Part 10 - SQL/OLB     405
Part 11 - SQL/Schemata     296
Part 13 - SQL/JRT     204
Part 14 - SQL/XML     266
Total 1,120 2,084 3,606

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.

(The "INCITS/ISO/IEC" variants of the documents are US$ 18.00 per document. The "ISO/IEC" variants range from US$ 132 to US$ 278 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.

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 H2 Database committee. 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 H2 is by technical experts from companies – one vote per company. The current membership of the committee is:

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:

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 H2, 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 H2, 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, JCC Consulting, Inc. 
Last modified: October 26, 2006

Trademarks and credits.