IBM, along with other relational database vendors, wanted a standardized method for accessing and manipulating data in a relational database. Over the decades, many competing languages have allowed programmers and developers to access and manipulate data. However, few have been as easy to learn and as universally accepted as SQL. Programmers and developers now have the benefit of learning a language that, with minor adjustments, is applicable to a wide variety of database applications and products.
SQL in a Nutshell describes four implementations of the current SQL standard, SQL99 (also known as SQL3): Microsoft’s SQL Server, MySQL, Oracle, and PostgreSQL. For those migrating from implementations of the earlier SQL standard, this chapter describes the current SQL standard and the ways in which it differs from the earlier standard. This chapter also provides a bit of history of the standards evolution.
Relational Database Management Systems (RDBMSs), such as SQL Server and Oracle, are the primary engines of information systems worldwide, particularly Internet/Intranet applications and distributed client/server computing systems.
An RDBMS is defined as a system whose users view data as a collection of tables related to each other through common data values. Data is stored in tables, and tables are composed of rows and columns. Tables of independent data can be linked (or related) to one another if they each have columns of data (called keys ) that represent the same data value. This concept is so common as to seem trivial; however, it was not so long ago that achieving and programming a system capable of sustaining the relational model was considered a long shot that would have limited usefulness.
Relational data theory was developed by E. F. Codd in the 1960s. Codd compiled a list of criteria a database product must meet to be considered relational. For those who are curious, Codd’s list appears at the end of this chapter.