SQL

Z WikiKnihovna

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