Structured Query Language: Rozdiel medzi revíziami

Smazaný obsah Přidaný obsah
d Verzia používateľa 95.103.253.108 (diskusia) bola vrátená, bola obnovená verzia od Peko
Značka: rollback
d wl.
 
Riadok 1:
'''Structured Query Language''' (SQL; iné názvy: '''štruktúrovaný vyhľadávací jazyk, štruktúrovaný dopytovací jazyk''', nespisovne ''štruktúrovaný dotazovací jazyk'') je počítačový jazyk na manipuláciu ([[DML]]) (výber, vkladanie, úpravu a mazanie) a definíciu údajov ([[DDL]]). V súčasnosti je to najpoužívanejší jazyk tohto druhu v relačných systémoch riadenia [[Databáza|databáz]].
 
Jazyk SQL sa vyvinul pôvodne z jazyka [[SEQUEL]], čo bol jazyk pre manipuláciu a definíciu dát pre [[System R]] od [[IBM]], prvého databázového systému založenom na [[Edgar F.Frank Codd|Coddovom]] [[relačný dátový model|relačnom dátovom modeli]]. Prvý komerčný databázový systém využívajúci SQL vyvinula spoločnosť Relational Software, Inc. (teraz [[Oracle (databázový systém)|Oracle]]) v roku 1979. Jazyk SQL sa stal čoskoro štandardnou výbavou väčšiny relačných databázových systémov.
 
V roku [[1986]] inštitúcia [[American National Standards Institute|ANSI]] štandardizovala jazyk SQL pod označením SQL-86. O rok neskôr vo viac-menej nezmenenej forme tento štandard ratifikovala aj organizácia [[Medzinárodná organizácia pre normalizáciu|ISO]] (SQL-87). V roku [[1989]] a [[1992]] boli prijaté revízie označené ako SQL-89, resp. SQL-92 (aj SQL-2). Výrazné zmeny prišli v roku [[1999]], kedy sa do štandardu SQL:1999 (SQL-3) dostali napr. [[rekurzia (matematika)|rekurzívne]] dopyty, spúšťače (triggery), [[regulárny výraz|regulárne výrazy]], neskalárne dátové typy a niektoré objektovo-orientované vlastnosti. Verzia SQL:2003 priniesla hlavne podporu pre [[XML]], štandardizované postupnosti, stĺpce s automaticky generovanými hodnotami a tzv. oknové funkcie.
 
Norma SQL-86 definuje výslovnosť slova SQL v anglickom jazyku ako „eskjúel“, hoci mnoho ľudí ho vyslovuje stále ako „síkl“ (SEQUEL). V slovenskom jazyku sa okrem týchto dvoch cudzích výslovností používa prirodzené „eskvéel“.
Riadok 29:
Časť, ktorá slúži na manipuláciu s dátami, je vo svojej podstate len syntaktický cukor pre [[relačný kalkul]].
 
V čistej forme (štandard) nie je jazyk SQL [[turingovsky úplný]], tzn. nevieme v ňom vypočítať všetko, čo vieme na [[Turingov stroj|Turingovom stroji]] (a teda aj naprogramovať v bežných programovacích jazykoch). V SQL nedokážeme napríklad urobiť [[tranzitívny uzáver]] relácie]. Z tohto dôvodu mnohé databázové systémy rozširujú jazyk SQL o ďalšie konštrukcie, napr. [[Oracle Corporation|Oracle]] dodáva [[PL/SQL]], [[Microsoft]] [[SQL Server]] používa [[T-SQL]]. Iný prístup spočíva v integrácii niektorého klasického programovacieho jazyka, napr. Oracle podporuje jazyk [[Java (programovací jazyk)|Java]], Microsoft SQL Server 2005 ľubovoľný jazyk podporujúci [[.NET]] (napr. [[C#]], VB.NET či [[C++]]), v [[PostgreSQL]] môžu byť funkcie písané v rôznych jazykoch ako je [[Perl]], [[Tcl]] či [[C (programovací jazyk)|C]].
 
== Rozšírenia ==
 
=== Procedurálne rozšírenia ===
SQL je navrhnuté na špecifický účel: vyhľadávať údaje v relačnej databáze. SQL je nastaviteľný, deklaratívny jazyk, nie prikazovací ako [[C (programovací jazyk)|C]] alebo [[BASIC (programovací jazyk)|BASIC]]. Napriek tomu existujú rozšírenia základného SQL, ktoré dopĺňajú funkcie procedurálneho programovacieho jazyka, ako napríklad konštrukcia kontrola-za-behu. Tu sú:
Řádek 86 ⟶ 87:
 
== Jazykové prvky ==
 
Jazyk SQL sa skladá z niekoľkých jazykových prvkov, zahŕňajúc:
 
Riadok 94:
* '''Výrazy''' – ktoré môžu zobrazovať skalárne veličiny, alebo tabuľky, pozostávajúce z údajov v riadkoch a stĺpcoch
* '''Premenné''' – ktoré špecifikujú podmienky, ktoré môžu stanoviť SQL trojhodnotovú logiku (3VL) Boolean-ovskej pravdivých hodnôt, ktoré sú používané na limitovanie účinkov príkazov a vyhľadávania, alebo na zmeny tokov programov.
 
 
{{Významné programovacie jazyky}}