Standard Query Language or commonly called as SQL (pronounce "ess que ell") or some called it sequel (Sanjay & Alan, 2004). It is a structured query language being used widely in database world. SQL is a language that enables accessibility to a database. It performs queries with facilities to perform basic data processing operations such as CREATE, ALTER, DROP, SELECT, INSERT, DELETE AND UPDATE. According to Katircioglu, Brown & Asghar, (2007), the SQL language has been widely used by the database vendors with different implementation. This has make SQL exists in few versions but the basic commands are still complying in American National Standards Institute (ANSI) standard. Based on Negri(1991), the SQL query language has become the most important language in the database world and has become both a de facto standard accepted by most DBMS manufacturers and an official standard by ANSI and IS0.
SQL language is a simple and English-like language which make its relatively easy to use by any use at any level of database. The syntax is relatively easy to understand and the learning curve to learn the language is very fast. It is different from other computer language like C, PASCAL, COBOL or etc.
What Is SQL?
SQL is a data sub-language that used to perform the communication to a database and also for querying and modifying databases. (Codd, 1990). As written by Sanjay and Alan (2004) and Jeffrey, Mary and Heikki (2009), SQL language has three sets of commands
Data Definition Language (DDL) - It is the subset of SQL and used to perform various data structures definition and modification. DDL is to perform table and index structure management. DDL is to perform table and index structure management. DDL has multiple types of commands for handling such tasks as table creation, data indexes, views creation and other constraints. The commands are; CREATE, ALTER, RENAME, DROP, TRUNCATE statements. In this model, DDL was a schema of the database that was written in a describing the records and fields to make up the user Data Model. Initially it only referred to a subset of SQL, but now it is formally used to refer to describe data or information structure.
Data Manipulation Language (DML) - DML on the other hand, is the subset of SQL to perform data manipulation that is contained within the data structures (was previously defined via DDL) as well as to formulate the data access. DML modify stored data only and comprised of five statements: SELECT, INSERT, UPDATE, DELETE, MERGE.
Data Control Language - DCL is the command that assists the database administrator perform command for accessibility (revoke and grant privileges) to the users.
History of SQL
History of SQL starts of in the year 1970s. It is from a paper presentation by Dr. E. F. Codd, he was then a researcher for IBM in the year 1970. This paper was published in Association of Computer Machinery (ACM) journal, Communications of the ACM. This became the basis for the relational database system (RDBMS) and the model is now accepted as the definitive model for RDBMS (Sanjay & Alan, 2004). This article has generated quite number of interested parties in the industry. It was like a wake-up call for the industry on application of database system. Dr. E. F. Codd (1970) presented his theory and idea into research paper and almost the same time, Donald D. Chamberlin and Raymond F.Boyse (both from IBM research center) had started developing a query language named SQUARE (Specifying Queries as Relational Expressions). They have used set predicate mathematics and theories to perform selection of data from the database. Although early of this language had a complex and unfriendly mathematical syntax, but it became the proof of concept which are important to manipulation of database. Donald and Raymond (1974) have started an implementation of an IBM prototype named SEQUEL. This prototype is under a project named System/R project. In this project they developed SEQUEL or Structured English Query Language. In 1976-1977, it was rewritten to include features like multi-table and multiuser and was called "SEQUEL/2". Later IBM changed it to SQL due to the copyright issues relating to "SEQUEL" name where it was then a legal trademark registered under the Hawker Siddeley, an aircraft company; hence by dropping the vowel, the name SQL is produced,. ("Wikipedia",2001.)
In the year 1978, IBM commenced a testing at customer site. IBM demonstrated the usefulness and practicality of the system and it was a success story for IBM. As the result from it, IBM started to developed commercial products and solution SQL based on the System/R prototype. (Hongjun, Hock & Kwok, 1993). This includes SQL/D, which was introduced in 1981 and later DB2 in 1983. (Donald & Raymond, 1974)
There are other vendors that have accepted the rise of this relational model and announced their SQL-based products in market. Other IBM, another well known database vendor, ORACLE, release first commercial RDBMS, Oracle V2, also SYBASE and INGRES in 1979. Other than these players, Microsoft has its first entry enterprise level database market in 1989 named SQL Server 1.0. This product is a combination 3 big name (Microsoft, Sybase and Ashton-Tate) and as of today, the said names are the leading products in RDMS in the industry. Refer to Table 1 below: (Harshana, 2009)
Table 1
Famous DBMS product and vendors
Product Name
Vendor
Ms Office Access
Microsoft Corporation
Oracle
Oracle Corporation
Ms SQL Server
Microsoft Corporation
MySQL
Open Source
PostgreSQL
Open Source
OpenEdge
Progress Software Corp.
Sybase SQL Server
Sybase Inc.
Informix
IBM
DB2
IBM
What Is ANSI SQL?
ANSI is the American National Standards Institute. ANSI is an organization that approves standards for many industries ("Introduction to ANSI", n.d.). Therefore it certifies SQL standards internationally. As for SQL particularly, it has been the standard language in relational database communication.
SQL Standards
The development of SQL has gone through quite a number of changes. In 1987, ANSI SQL standard was internationally accepted by the International Standards Organization (ISO) and it was then revised again in 1992. It was called SQL-92 which was referred as SQL 3. As to date, the latest version revised is SQL: 2008. The developments of SQL standards are shown in the next Table 2. ("Wikipedia", 2001)
Table 2
SQL Standard Revision by Wikipedia
Year
Name and Aliases
Description
1986
SQL-86 or also known as SQL-87
The first standardization formalized by ANSI.
1989
SQL-89 or also known as FIPS 127-1
The standard has a minor revision and it was known as FIPS 127-1.
1992
SQL-92 or also known as SQL2 and FIPS 127-2
The standard involved major revision to ISO 9075. The early entry level of SQL-92 was adopted as FIPS 127-2.
1999
SQL:1999 or also known as SQL3
The standard added regular few features such as statement expression matching, recursive queries, triggers functions. Other than that it support for procedural. It also included non-scalar type statement, flow control statements and some object-oriented features.
2003
SQL:2003
The standard has a only minor changes where it been introduced to XML support features, added window functions and included standardized sequences. The columns added with functionality with auto-generated values with identity-columns features.
Benefits of SQL Implementation
The main reason why SQL is very successful is because it is a high-level language that provides a bigger abstraction than normal procedural languages such as 3rd generation languages (3GLs), such as C language, and also 4th generation languages (4GLs). The normal procedural languages will require the programmer navigate the data structures and it is difficult when they need to encode the information in high level language. They will have difficulties in changing it after it has been programmed and time consuming. Contrast with SQL where it is designed allowing to specify what data is needed not even mentioning on how to retrieve it due to SQL is coded. Database Management System (DBMS) analyzes, parse SQL then formulates the instructions "silently behind the scenes" and these are called access paths. The DBMS will determine the most optimal and best access path to the data. There is no need for the programmer to know how to retrieve it. Plus, only the DBMS have a better understanding and knowledge of the state of the data stored. Therefore it can produce a more efficient and dynamic access path to the data. Hence, if SQL is properly used and implemented, it can provide rapid application development and prototyping environment with corresponding high-level languages.