Squaring up to SQL

Wherever you find a relational database management system, an SQL programmer is never far away.

Wherever you find a relational database management system, an SQL programmer is never far away.

What is it?

SQL, or "Sequel" as it's usually pronounced, was originally intended as a query language for end-users. But it proved too difficult to work with, so instead it was developed as a programming language. To be used for application code, SQL has to be embedded in another language, so pre-processors and call-level interfaces were provided.

Because of its non-procedural nature, many developers found SQL confusing to work with, so vendors came up with procedural variants like Oracle's PL/SQL.

Where did it originate?

SQL came out of IBM's San Jos‚ labs in the 1970s, as a by-product of Codd and Date's work on relational databases. But IBM was beaten to the market by Oracle, which released the first SQL relational database in 1979.

IBM followed in 1981 with SQL/DS, a commercial version of its System R* database for VM/370. This was followed in 1983 by DB/2, which was essentially a version of SQL/DS rewritten for MVS.

Ansi and the International Standards Organisation attempted to codify the language, resulting in the 1986 and 1989 standards. In 1992, a more comprehensive standard emerged, first called SQL2 and then SQL92, which covers the core relational model. SQL92 was further updated last year.

What's it for?

Accessing the data in relational databases. You can also work with SQL from within Java, using either JDBC, an extension of the ODBC Open Database Connectivity standard, or SQLJ, which is effectively embedded SQL.

What makes it special?

Its putative portability. However, while independent training organisations will teach you Ansi standard SQL, the commercial versions you use will differ, often in quite significant ways. Suppliers have tended to take the standard and add "extensions" which their customers ask for, or which make their products more competitive. These extensions sometimes find their way back into the standard.

Until the arrival of object-relational technology, relational databases came to resemble one another quite closely, and people talked about them becoming commodity products. People who for some reason lost faith in their RDBMS supplier, as some Ingres users did before the product was bought by Computer Associates, were able to migrate to other SQL databases.

Is it difficult to master?

There are two-day introductory courses around. QA Training says that all you need is the ability to type accurately and to cope with syntax, "since SQL is a syntactically fussy language". In the shops you'll find books claiming to teach you SQL in 24 hours or even 10 minutes. But to use SQL effectively with an RDBMS, you're probably looking at a year or more of training and hands-on experience.

Where is it used?

Wherever RDBMSs are used.

Not to be confused with

An up-to-date standard. SQL neatly fits the definition of a sequel as "something which follows", since the published standards tend to appear after the world has moved on.

What systems does SQL run on?

Mainframes, midrange systems and PC Lans.

Not many people know

There's a new standard coming up, SQL3, which has object capabilities. The standard was promised for 1997, then 1998. Being wiser than Microsoft, the Ansi SQL committees give their standards version numbers in advance and add the year to the version retrospectively.

What's coming up?

SQL3 (see above). The extenders - the datablades and cartridges - used by object/relational databases to handle complex data forms, are essentially APIs which give the developer access to different functions. Without needing experience of, for example, working with spatial data, the developer should be able to write an application in SQL3 and leave it to the extenders to handle the complexity.

Rates of pay

Again, the remuneration will depend on which RDBMS you are working with. A little while ago, for example, a Warrington-based company was offering up to £35,000 for an Oracle Developer with PL/SQL, Forms 4.5 and Designer 2000. Equivalent jobs using Microsoft SQL Server tend to be less well paid than Oracle, Sybase, Informix and DB2.

Programmer £23,782
Analyst programmer £26,469
Senior programmer £29,333
Senior analyst programmer £34,027
Team leader programming £35,250
Team leader analyst programmer £39,129

Source: Computer Weekly/SSP survey


Each relational database management system supplier will have its own SQL training, so approach IBM, Oracle, Sybase, Microsoft, Informix, and so on, to find out the best and nearest option.

Read more on Database software