Metody databáze (pohledy, uložené procedury, triggery)
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
PAD Programování a databáze
Téma 19
Školní rok 2017/2018
1/2
Jan Švábík, V4D
Metody databáze (pohledy,
uložené procedury, triggery)
Metody databáze
Databáze disponuje různými metodami zobrazení nebo možnostmi předpřipravení příkazů pro
jednoduché budoucí (zejména opakované) použití.
Pohledy
Pohled je ve své podstatě pojmenovaný SELECT. Slouží k zjednodušení zápisu dotazů. Například
v případě e-shopu, který chce zobrazovat jenom nearchivované produkty, ale archivované (ty, jenž
už nejsou nabízeny k prodeji) si chce v databázi ponechat. Vytvoří se tedy následující pohled:
CREATE VIEW current_products AS SELECT * FROM products WHERE archived = 0;
Tento pohled se následně bude používat v dotazech namísto tabulky products. Ze všech dotazů
tak zmizí část WHERE archived = 0. Příklad načítání produktů z aplikace:
SELECT * FROM current_products;
Pohledy je možné vytvářet jen uvnitř jednoho databázového serveru, může se však odkazovat na
tabulky v jiné lokální databázi. Nelze je editovat, k tomuto nejsou pohledy ani určeny. Úprava dat
v pohledu by znamenala data upravit v původní databázi, na jejíž data pohled pohlíží.
Uložené procedury
Uložená procedura je sada příkazů SQL, které jsou uložené na databázovém serveru, vykonávaná
tak, že je zavolána prostřednictvím dotazu názvem, který jí byl přiřazen (jde tedy o jakousi obdobu
funkce). Ulehčuje správu databázových aplikací.
Mezi výhody patří možnost volat shodnou proceduru (vykonat stejný kód) jejím jednoduchým
zavoláním a případně předáním parametrů. Je-li potřeba výkonný kód upravit, může se to provést
na jediném místě – není potřeba jakýmkoliv způsobem zasahovat do aplikací, které s databází
komunikují. Uložené procedury mohou přispívat k zabezpečení serveru – mohou být nastaveny
tak, že je smí spouštět pouze uživatel s oprávněním a procedury samy mohou kontrolovat počet,
typ, velikost a další charakteristiky parametrů, které jsou jim posílány, což může umožnit vyhnout
se SQL injection.