SQL
Autor: Petr Fiala
Klíčová slova: SQL, databáze, dotazovací jazyky
Synonyma: Sequel
Související pojmy:
nadřazené - SŘBD, DBMS
podřazené - ---
Charakteristika
SQL (Structured Query Language) je dotazovací programovací jazyk používaný ke zpracování dat v relačních databázích. Uplatňuje se často v architektuře klient/server. SQL příkazy lze použít pro přímou práci s databází nebo mohou být použity jiným programovacím jazykem a vytvořit tak databázové rozhraní. Všechny hlavní systémy pro správu databází tento jazyk podporují. SQL je mezinárodně standardizovaný (standard ANSI i ISO), ale jednotlivé implementace se od sebe mohou lišit.
Historie
První prototypová implementace tohoto jazyka, který se až do konce 70. let nazýval Sequel, vznikla roku 1974 v laboratořích společnosti IBM (autoři Donald D. Chamberlin a Raymond F. Boyce) a byla použita ve firemním systému s názvem R. Jazyk se postupně vyvíjel a bylo třeba jej standardizovat. K tomu došlo v roce 1986, kdy jej přijala standardizační skupina ANSI (a v roce 1987 ISO). Standardem byl uznán dialekt firmy IBM. V literatuře se můžeme setkat také s označením SQL86. Později bylo třeba rozšíření definičního jazyka pro možnost integritního omezení. Výsledná zpráva byla zveřejněna v roce 1989 organizací ISO (označení SQL89). Následovalo postupně několik dalších standardů (vše ISO):
| Rok | Standard | Poznámky |
| 1999 | SQL:1999 (SQL3) | Přidány regulární výrazy, rekurzivní dotazy, triggery atd. |
| 2003 | SQL:2003 | Představeny XML funkce, funkce window, standardizované sekvence a automaticky generované hodnoty. |
| 2006 | SQL:2006 | Definuje další spojitosti s XML formátem. Umožňuje v kódu používat jazyk XQuery (XML dotazovací jazyk vyvinutý W3C). |
Aktuální verzí je SQL:2008, která přidává trigger INSTEAD OF, příkaz TRUNCATED a povoluje použití ORDER BY mimo definici.
Nejznámější implementace
| Implementace | Aktuální verze | Dokumentace |
| MySQL | 5.1.47 | http://dev.mysql.com/doc/refman/5.1/en/index.html |
| [1] PostgreSQL | 8.4.4 | http://www.postgresql.org/docs/8.4/static/index.html |
| MS SQL Server | 2008 R2 | http://technet.microsoft.com/en-us/library/bb418433%28SQL.10%29.aspx |
| Oracle Database | 11g release 2 | http://www.oracle.com/pls/db112/homepage |
| Informix | 11.50 | http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp |