Structured Query Language: Rozdiel medzi revíziami

Smazaný obsah Přidaný obsah
d robot Pridal: ko:SQL
doplnenie rozšírení
Riadok 24:
 
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]] [[realácia|relácie]]. Z tohto dôvodu mnohé databázové systémy rozširujú jazyk SQL o ďalšie konštrukcie, napr. [[Oracle]] dodáva [[PL/SQL]], [[Microsoft]] [[SQL Server]] používa [[T-SQL]]. Iný prístup spočíva v integrácií niektorého klasického programovacieho jazyka, napr. Oracle podporuje 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]].
 
== 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 existuju rozšírenia základného SQL, ktoré dopĺňajú funkcie procedurálneho programovacieho jazyka, ako napríklad konštrukcia kontrola-za-behu. Tu sú:
 
{| class="wikitable"
|-
! Source
! Common<br>Name
! Full Name
|-
|align="center"| ANSI/ISO Standard
|align="center"| [[SQL/PSM]]
| SQL/Persistent Stored Module
|-
|align="center"| IBM
|align="center"| [[SQL PL]]
| SQL Procedural Language
|-
|align="center"| [[Microsoft]]/<br>[[Sybase]]
|align="center"| [[T-SQL]]
| Transact-SQL
|-
|align="center"| [[MySQL]]
|align="center"| MySQL
| MySQL
|-
|align="center"| [[Oracle Corporation|Oracle]]
|align="center"| [[PL/SQL]]
| Procedural Language/SQL
|-
|align="center"| [[PostgreSQL]]
|align="center"| [[PL/pgSQL]]
| Procedural Language/PostgreSQL Structured Query Language
|}
 
 
Na doplnenie štandardných SQL/PSM rozšírení a súkromných (patentovaných?) SQL rozšírení, je na veľa SQL platformách pomocou DBMS integrácie s inými jazykmi umožnené procedurálne a objektovo-orientované programovanie. SQL štandardy definujú SQL/JRT rozšírenia (SQL programy a typy(?) pre programovací jazyk Java) na podporu kódu Java v AQL databázach. SQL Server 2005 používa SQLCLR ( spoločný jazyk pre SQL Servery) na riadenie(?) klienta. NET vyhľadáva v databáze, kým predchádzajúce verzie SQL Server nepodporovali neriadené(?) rozširovacie funkcie, primárne napísané v C. Ďalšie databázové platformy, ako MySQL a Postgres, umožňujú písanie funkcií v širokom spektre jazykov, ako: Perl, Python, TCL a C.
 
 
{{Významné programovacie jazyky}}