Hledat:

Invia.cz Eurovíkendy Kanárské ostrovy Dominikánská republika Madeira Last minute Vydělávejte peníze s INVIA.CZ
 

Uložená procedura

Uložená procedura (anglicky stored procedure) je databázový objekt, který neobsahuje data, ale část programu, který se nad daty v databázi má vykonávat.

Obsah

[editovat] Co je uložená procedura

Uložená procedura je především procedura. Jedná se o část programu, který je (nebo by aspoň měl být) jasně funkčně oddělený od svého okolí, má interface (seznam parametrů) pro komunikaci s jinými moduly programu. Může mít vlastní lokální proměnné neviditelné pro ostatní části programu.

Uložená procedura je uložená (rozuměj: uložená v databázi). To znamená, že se k ní lze chovat stejně jako ke každému jinému objektu databáze (indexu, pohledu, triggeru apod.). Lze jí založit, upravovat a smazat pomocí příkazů dotazovacího jazyka databáze (v případě relační databáze obvykle pomocí příkazů DDL SQL).

Pro psaní uložených procedur je obvykle používán specifický jazyk konkrétní databáze, který je rozšířením jejího dotazovacího jazyka (hezkým příkladem je pro databázi Oracle procedurální jazyk PL/SQL, který je rozšířením klasického dotazovacího jazyka SQL).

[editovat] Proč ukládat procedury

[editovat] Jednotné rozhraní

Použití uložených procedur vychází z faktu, že většina operací nad daty v databázi probíhá stejně bez ohledu na to, kdo operaci provádí.

Příklad: Pokud je třeba uložit do tabulky zákazníků nového zákazníka, tak se to z pohledu databáze děje stejně pro zákazníka internetového obchodu, pro zákazníka, kterého zadává pracovnice telefonického centra přes formulář programu napsaného například v C++ , nebo pro zákazníky, kteří jsou vkládáni automaticky na základě textového reportu, který přijde každý den z „kamenných“ prodejních míst a je zpracováván pomocí programu napsaného v PowerBuilderu. Je tedy celkem dobrý důvod, aby existovala uložená procedura „Zapiš nového zákazníka“, kterou by mohly volat všechny tři výše uvedené aplikace - alternativou bez uložené procedury by bylo, že bych podobnou proceduru musel napsat ve třech verzích - jednou v C++, jednou v Power Builderu a jednou v rámci programu pro internetový obchod (třeba ASP nebo PHP).

[editovat] Skrytí datových operací

Druhou výhodou použití uložených procedur je, že se nemusím (v programu na „klientské“ straně) zabývat tím, jak jsou data uložena v konkrétních tabulkách. V našem případě je mi jedno, jak si databáze uvnitř pamatuje zákazníky - prostě zadám jako parametr procedury jméno, příjmení, číslo kreditky a co si zákazník koupil - a databáze (resp. její uložená procedura) si to nějak přebere.

Uložené procedury se v případě databázových aplikací staly základním kamenem pro realizaci architektury klient/server, kdy je na jedné straně (klientská část) realizována v běžném procedurálním programovacím jazyku komunikace s uživatelem (formuláře nebo třeba webové stránky) a na druhé straně (serverová část) je pomocí uložených procedur realizována správa dat v relační databázi. Obě části (klientská a serverová) mezi sebou komunikují přes co nejjednodušší rozhraní – voláním uložených procedur.

[editovat] Související články

SQL
Příkazy jazyka SQL:

SELECTINSERTUPDATEDELETECREATEDROPALTERSHOWGRANTREVOKESTART TRANSACTIONCOMMITROLLBACKEXPLAINMERGETRUNCATELOAD DATA

Klíčová slova:

JOINUNIONINTERSECTGROUP BYORDER BYLIMITHAVINGWITH ROLLUP

Ostatní pojmy:

Systém řízení báze datTabulkaIndexPoddotazUložená proceduraUživatelsky definovaná funkceTransakceTriggerPohledAgregační funkceReferenční integrita

 
Uložená procedura v jiných jazycích: Català, Deutsch, English, Español, Français, עברית, Íslenska, Italiano, 日本語, 한국어, Nederlands, ‪Norsk (bokmål)‬, Polski, Português, Русский, 中文
Tento článek je převzat z české wikipedie - otevřené encyklopedie, originální článek naleznete na adrese: „http://cs.wikipedia.org/wiki/Ulo%C5%BEen%C3%A1_procedura
Stránka byla naposledy upravena v Stránka byla naposledy editována 17. 8. 2008 v 10:17.
Veškerý text je dostupný za podmínek GNU Free Documentation License (Autorské právo pro podrobnosti).
Další služby: Portál | Katalog | Hledej | Zprávy | Počasí | Kurzy | Práce | Slovník | TV | Online hry | Java hry | SMS | Loga a melodie | Chat | Fórum | Kontakt