Uložená procedura: Porovnání verzí
Smazaný obsah Přidaný obsah
m robot přidal: de, es, fr, it, ja, nl, pl, pt, ru |
m robot: stylistické, typografické a kódové korekce podle specifikace |
||
Řádek 1:
'''Uložená procedura''' (anglicky '''stored procedure''') je
== 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á|proměnné]] neviditelné pro ostatní části programu.
Řádek 8:
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]]).
== Proč ukládat procedury ==
=== 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
=== Skrytí datových operací ===
Druhou výhodou použití uložených procedur je, že se nemusím (v programu na
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.
== Podívejte se také na ==
*[[databáze]]
*[[trigger (databáze)]]
|