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
Training
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.