Prior to the release of the first relational database management system (RDBMS), each database had a unique physical structure and a unique programming language that the programmer had to understand. That all changed with the advent of SQL and the relational database management system.
Figure 1-8 lists the important events in the history of SQL. In 1970, Dr. E. F. Codd published an article that described the relational database model he had been working on with a research team at IBM. By 1978, the IBM team had developed a database system based on this model, called System/R, along with a query language called SEQUEL (Structured English Query Language). Although the database and query language were never officially released, IBM remained committed to the relational model.
The following year, Relational Software, Inc. released the first relational database management system, called Oracle. This RDBMS ran on a minicomputer and used SQL as its query language. This product was widely successful, and the company later changed its name to Oracle to reflect that success.
In 1982, IBM released its first commercial SQL-based RDBMS, called SQL/DS (SQL/Data System). This was followed in 1985 by DB2 (Database 2). Both systems ran only on IBM mainframe computers. Later, DB2 was ported to other systems, including those that ran the Unix and Windows operating systems. Today, it continues to be IBM’s premier database system.
During the 1980s, other SQL-based database systems, including SQL Server, were developed. Although each of these systems used SQL as its query language, each implementation was unique. That began to change in 1989, when the American National Standards Institute (ANSI) published its first set of standards for a database query language. These standards have been revised a few times since then, most recently in 2011. As each database manufacturer has attempted to comply with these standards, their implementations of SQL have become more similar. However, each still has its own dialect of SQL that includes additions, or extensions, to the standards.
Although you should be aware of the SQL standards, they will have little effect on your job as a SQL programmer. The main benefit of the standards is that the basic SQL statements are the same in each dialect. As a result, once you’ve learned one dialect, it’s relatively easy to learn another. On the other hand, porting applications that use SQL from one database to another isn’t as easy as it should be. In fact, any non-trivial application will require at least modest modifications.
Important events in the history of SQL
|1970||Dr. E. F. Codd developed the relational database model.|
|1978||IBM developed the predecessor to SQL, called Structured English Query Language (SEQUEL). This language was used on a database system called System/R, but neither the system nor the query language was ever released.|
|1979||Relational Software, Inc. (later renamed Oracle) released the first relational DBMS, Oracle.|
|1982||IBM released their first relational database system, SQL/DS (SQL/Data System).|
|1985||IBM released DB2 (Database 2).|
|1987||Microsoft released SQL Server.|
|1989||The American National Standards Institute (ANSI) published the first set of standards for a database query language, calledANSUISO SQL-89, or SQL 1. Because they were not stringent standards, most commercial products could claim adherence.|
|1992||ANSI published revised standards (ANSIIISO SQL-92, or SQL2) that were more stringent than SQLI and incorporated many new features. These standards introduced levels of compliance that indicated the extent to which a dialect met the standards.|
|1999||ANSI published SQL3 (ANSUISO SQL: 1999). These standards incorporated new features, including support for objects. Levels of compliance were dropped and were replaced by a core specification along with specifications for nine additional packages.|
|2003||ANSI published SQL:2003. These standards introduced XML-related features, standardized sequences, and identity columns.|
|2006||ANSI published SQL:2006, which defined how SQL can be used with XML. The standards also allowed applications to integrate XQuery into their SQL code.|
|2008||ANSI published SQL:2008. These standards introduced INSTEAD OF triggers and the TRUNCATE statement.|
|2011||Information on these standards is not yet freely available.|
Figure 1-8 A brief history of SQL
- SQL-92 initially provided for three levels of compliance, or levels of conformance: entry, intermediate, and full. A transitional level was later added between the entry and intermediate levels because the jump between those levels was too great.
- SQL: 1999 includes a core specification that defines the essential elements for compliance, plus nine packages. Each package is designed to serve a specific market niche.
- Although SQL is a standard language, each vendor has its own SQL dialect, or variant, that may include extensions to the standards. SQL Server’s SQL dialect is called Transact-SQL.
How knowing “standard SQL” helps you
- The most basic SQL statements are the same for all SQL dialects.
- Once you have learned one SQL dialect, you can easily learn other dialects.
How knowing “standard SQL” does not help you
- Any non-trivial application will require modification when moved from one SQL database to another.