History of SQL
As stated in Chapter 3, the history of the relational model (and indirectly SQL) started with
the publication of the seminal paper by E. F. Codd, while working at IBM’s Research
Laboratory in San José (Codd, 1970). In 1974, D. Chamberlin, also from the IBM San
José Laboratory, defined a language called the Structured English Query Language, or
SEQUEL. A revised version, SEQUEL/2, was defined in 1976, but the name was subsequently
changed to SQL for legal reasons (Chamberlin and Boyce, 1974; Chamberlin
et al., 1976). Today, many people still pronounce SQL as ‘See-Quel’, though the official
pronunciation is ‘S-Q-L’.
IBM produced a prototype DBMS based on SEQUEL/2, called System R (Astrahan
et al., 1976). The purpose of this prototype was to validate the feasibility of the relational
model. Besides its other successes, one of the most important results that has been
attributed to this project was the development of SQL. However, the roots of SQL are in
the language SQUARE (Specifying Queries As Relational Expressions), which pre-dates
the System R project. SQUARE was designed as a research language to implement relational
algebra with English sentences (Boyce et al., 1975).
In the late 1970s, the database system Oracle was produced by what is now called the
Oracle Corporation, and was probably the first commercial implementation of a relational
DBMS based on SQL. INGRES followed shortly afterwards, with a query language called
QUEL, which although more ‘structured’ than SQL, was less English-like. When SQL
emerged as the standard database language for relational systems, INGRES was converted
to an SQL-based DBMS. IBM produced its first commercial RDBMS, called SQL/ DS,
for the DOS/VSE and VM/CMS environments in 1981 and 1982, respectively, and subsequently
as DB2 for the MVS environment in 1983.
In 1982, the American National Standards Institute began work on a Relational Database
Language (RDL) based on a concept paper from IBM. ISO joined in this work in 1983,
and together they defined a standard for SQL. (The name RDL was dropped in 1984, and the
draft standard reverted to a form that was more like the existing implementations of SQL.)
The initial ISO standard published in 1987 attracted a considerable degree of criticism.
Date, an influential researcher in this area, claimed that important features such as referential
integrity constraints and certain relational operators had been omitted. He also pointed
out that the language was extremely redundant; in other words, there was more than one
way to write the same query (Date, 1986, 1987a, 1990). Much of the criticism was valid,
and had been recognized by the standards bodies before the standard was published. It was
decided, however, that it was more important to release a standard as early as possible to
establish a common base from which the language and the implementations could develop
than to wait until all the features that people felt should be present could be defined and
agreed.
In 1989, ISO published an addendum that defined an ‘Integrity Enhancement Feature’
(ISO, 1989). In 1992, the first major revision to the ISO standard occurred, sometimes
referred to as SQL2 or SQL-92 (ISO, 1992). Although some features had been defined in the
standard for the first time, many of these had already been implemented, in part or in a similar
form, in one or more of the many SQL implementations. It was not until 1999 that the
next release of the standard was formalized, commonly referred to as SQL:1999 (ISO, 1999a).
This release contains additional features to support object-oriented data management, which
we examine in Section 28.4. A further release, SQL:2003, was produced in late 2003.
Features that are provided on top of the standard by the vendors are called extensions.
For example, the standard specifies six different data types for data in an SQL database.
Many implementations supplement this list with a variety of extensions. Each implementation
of SQL is called a dialect. No two dialects are exactly alike, and currently no
dialect exactly matches the ISO standard. Moreover, as database vendors introduce new
functionality, they are expanding their SQL dialects and moving them even further apart.
However, the central core of the SQL language is showing signs of becoming more
standardized. In fact, SQL:2003 has a set of features called Core SQL that a vendor must
implement to claim conformance with the SQL:2003 standard. Many of the remaining
features are divided into packages; for example, there are packages for object features and
OLAP (OnLine Analytical Processing).
Although SQL was originally an IBM concept, its importance soon motivated other
vendors to create their own implementations. Today there are literally hundreds of SQLbased
products available, with new products being introduced regularly.
the publication of the seminal paper by E. F. Codd, while working at IBM’s Research
Laboratory in San José (Codd, 1970). In 1974, D. Chamberlin, also from the IBM San
José Laboratory, defined a language called the Structured English Query Language, or
SEQUEL. A revised version, SEQUEL/2, was defined in 1976, but the name was subsequently
changed to SQL for legal reasons (Chamberlin and Boyce, 1974; Chamberlin
et al., 1976). Today, many people still pronounce SQL as ‘See-Quel’, though the official
pronunciation is ‘S-Q-L’.
IBM produced a prototype DBMS based on SEQUEL/2, called System R (Astrahan
et al., 1976). The purpose of this prototype was to validate the feasibility of the relational
model. Besides its other successes, one of the most important results that has been
attributed to this project was the development of SQL. However, the roots of SQL are in
the language SQUARE (Specifying Queries As Relational Expressions), which pre-dates
the System R project. SQUARE was designed as a research language to implement relational
algebra with English sentences (Boyce et al., 1975).
In the late 1970s, the database system Oracle was produced by what is now called the
Oracle Corporation, and was probably the first commercial implementation of a relational
DBMS based on SQL. INGRES followed shortly afterwards, with a query language called
QUEL, which although more ‘structured’ than SQL, was less English-like. When SQL
emerged as the standard database language for relational systems, INGRES was converted
to an SQL-based DBMS. IBM produced its first commercial RDBMS, called SQL/ DS,
for the DOS/VSE and VM/CMS environments in 1981 and 1982, respectively, and subsequently
as DB2 for the MVS environment in 1983.
In 1982, the American National Standards Institute began work on a Relational Database
Language (RDL) based on a concept paper from IBM. ISO joined in this work in 1983,
and together they defined a standard for SQL. (The name RDL was dropped in 1984, and the
draft standard reverted to a form that was more like the existing implementations of SQL.)
The initial ISO standard published in 1987 attracted a considerable degree of criticism.
Date, an influential researcher in this area, claimed that important features such as referential
integrity constraints and certain relational operators had been omitted. He also pointed
out that the language was extremely redundant; in other words, there was more than one
way to write the same query (Date, 1986, 1987a, 1990). Much of the criticism was valid,
and had been recognized by the standards bodies before the standard was published. It was
decided, however, that it was more important to release a standard as early as possible to
establish a common base from which the language and the implementations could develop
than to wait until all the features that people felt should be present could be defined and
agreed.
In 1989, ISO published an addendum that defined an ‘Integrity Enhancement Feature’
(ISO, 1989). In 1992, the first major revision to the ISO standard occurred, sometimes
referred to as SQL2 or SQL-92 (ISO, 1992). Although some features had been defined in the
standard for the first time, many of these had already been implemented, in part or in a similar
form, in one or more of the many SQL implementations. It was not until 1999 that the
next release of the standard was formalized, commonly referred to as SQL:1999 (ISO, 1999a).
This release contains additional features to support object-oriented data management, which
we examine in Section 28.4. A further release, SQL:2003, was produced in late 2003.
Features that are provided on top of the standard by the vendors are called extensions.
For example, the standard specifies six different data types for data in an SQL database.
Many implementations supplement this list with a variety of extensions. Each implementation
of SQL is called a dialect. No two dialects are exactly alike, and currently no
dialect exactly matches the ISO standard. Moreover, as database vendors introduce new
functionality, they are expanding their SQL dialects and moving them even further apart.
However, the central core of the SQL language is showing signs of becoming more
standardized. In fact, SQL:2003 has a set of features called Core SQL that a vendor must
implement to claim conformance with the SQL:2003 standard. Many of the remaining
features are divided into packages; for example, there are packages for object features and
OLAP (OnLine Analytical Processing).
Although SQL was originally an IBM concept, its importance soon motivated other
vendors to create their own implementations. Today there are literally hundreds of SQLbased
products available, with new products being introduced regularly.
History of SQL
Reviewed by Shopping Sale
on
22:27
Rating:
No comments: