SQL

Z WikiKnihovna
Přejít na: navigace, hledání

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


Ukázka použití

Syntaxe SQL není nijak složitá, je zvolena tak, aby připomínala anglický jazyk.

Klíčovým pojmem v jazyku SQL je příkaz. Každý příkaz začíná klíčovým slovem. Slovo vyjadřuje orientačně, jakou činnost daný příkaz provádí. Za klíčovým slovem následuje jedna nebo více volitelných klauzulí, které blíže specifikují povahu vykonávané činnosti, nebo určují data, s nimiž má příkaz pracovat.

Každá klauzule začíná klíčovým slovem, jako jsou např. SELECT nebo CREATE. Některé klauzule jsou povinné, jiné volitelné. Každá implementace SQL používá kromě standardních klauzulí, daných konvencemi ANSI/ISO, své vlastní klauzule, někdy se i činnost standardních klauzulí mírně či více liší.

Základním SQL příkazem je příklad SELECT. Následující ukázka vypíše z tabulky Kniha všechny knihy (název, autora, cenu a ISBN), jejichž cena je větší než 200 Kč, a seřadí je podle názvu:

SELECT titul,
       autor,
       cena,
       isbn
   FROM Kniha
   WHERE cena > 200
   ORDER BY titul;

Odkazy

Referenční materiály SQL

Škola SQL

Použitá literatura

  1. SKLENÁK, Vilém. Data, informace, znalosti a Internet. Vyd. 1. Praha : C.H. Beck, 201. 507 s. ISBN 80-7179-409-0.
  2. Techweb [online]. 2010 [cit. 2010-05-25]. SQL Definition. Dostupné z WWW: <http://www.techweb.com/encyclopedia?term=sql>.
  3. KOCAN, Marek. Živě [online]. 26. 10. 1998 [cit. 2010-05-25]. Víte, co je SQL? Ne? Nevadí - dnes začínáme!. Dostupné z WWW: <http://www.zive.cz/clanky/vite-co-je-sql-ne-nevadi---dnes-zaciname/sc-3-a-4320/default.aspx>.
  4. RYDVAL, S. NaWEBka [online]. 06. 08. 2005 [cit. 2010-05-25]. Historie jazyka SQL. Dostupné z WWW: <http://www.rydval.cz/phprs/view.php?cisloclanku=2005123125>.
  5. SQL. In Wikipedia : the free encyclopedia [online]. St. Petersburg (Florida) : Wikipedia Foundation, 26 October 2003, last modified on 20 May 2010 [cit. 2010-05-25]. Dostupné z WWW: <">http://en.wikipedia.org/wiki/SQL>.
  6. ARVIN, Troels. Troels Arvin's home page [online]. 2010-04-06 [cit. 2010-05-25]. Comparison of different SQL implementations. Dostupné z WWW: <">http://troels.arvin.dk/db/rdbms/>.
  7. OLSZOWSKI, P.; FARANA, R. Dotazovací jazyk SQL [online]. Ostrava : VŠB - Technická univerzita Ostrava, 1997 [cit. 2010-05-25]. Dostupné z WWW: <http://www.fs.vsb.cz/books/SQLReference/>.
  8. JANDA, J. Jemný úvod do SQL [online]. [s.l.] : [s.n.], 1997 [cit. 2010-05-25]. Dostupné z WWW: <http://www.wlist.cz/subsql/SQL.pdf>.