structured query language (DB) (SQL)
Structured Query Language (SQL) is a specialized programming language for accessing database systems. Although SQL was developed around 1974, it remains the de facto standard for defining and accessing structured data. Unlike the vast majority of programming languages, the SQL language is declarative rather than process-oriented.
In 1970 Dr. E. F. Codd published the paper "A Relational Model of Data for Large Shared Data Banks". This publication is considered the birth of relational database systems. Dr. Codd's colleagues Donald D. Chamberlin and Raymond F. Boyce from IBM developed a programming language which they published in 1974 in the publication "SEQUEL: A Structured English Query Language". SEQUEL became SQL and slowly the programming language spread. In 1979 the first commercial SQL database system was published by Relational Software Inc. under the name Oracle V2.
SQL was standardized by ANSI in 1986 and ratified by the International Standards Organization( ISO) in 1987. Since then, there have been several revisions. The best known is SQL-92, the most recent SQL:2008.
Unlike the vast majority of programming languages, SQL is declarative rather than process-oriented, i.e. it describes what to do rather than how to do it. Also unusual is that SQL is based on set theory. Because of these characteristics, SQL has remained the standard language for accessing relationally structured data to this day.
Within SQL, a distinction has historically been made between three sub-languages:
- Data Definition Language( DDL): definition of data structures. Example: CREATE TABLE.
- Data Manipulation Language( DML): Modification and query of data. Examples: SELECT, INSERT, UPDATE, DELETE.
- Data Control Language( DCL): Rights and control mechanisms. Examples: GRANT, REVOKE.
Today, this classification is no longer strict due to the many additional definitions and additions (procedural and OO elements, Extensible Markup Language(XML), ). The most important command of SQL is SELECT. It can be used to create complex queries of large amounts of data. The result is a so-called recordset, a list of data records.