Databázové systémy 2 Zkouška – 8:00
Příklad I – Procedura – 5 bodů Vytvořte proceduru P_ZK2(p_table_name VARCHAR2, p_min_nuls NUMBER, p_drop NUMBER); Procedura pro zadanou tabulku (parametr p_table_name) ve vašem schématu nalezne v tabulce všechny sloupce, v nichž se nachází tolik (nebo více) NULL hodnot, kolik udává parametr p_min_nulls. Parametr p_drop (nastavte výchozí hodnotu na 0) pak určuje, jestli dojde pouze k informativnímu výpisu (pokud je 0), nebo jestli bude sloupec skutečně fyzicky z tabulky odstraněn. Pro testovaní procedury můžete použít tabulku ZK_TABLE: – CREATE TABLE zk_table AS SELECT * FROM IDAS2.ZK_TABLE; V případě jakékoliv výjimky vyjímku zachyťte a vypište na DBMS output: „Chyba při provádění procedury“ + text chyby IDAS2 – zkouška :00 2
Příklad I – Procedura – 5 bodů V případě, že je parametr p_drop = 0, může výstup vypadat: No a pokud bude p_drop=1: IDAS2 – zkouška :00 3
Příkald II – Funkce – 4 body Vytvořte funkci FUNCTION F_ZK2(p_zamestnanec_id NUMBER, p_type NUMBER) RETURN NUMBER; Funkce bude vracet rozdíl mzdy aktuálního zaměstnance (reprezentovaného p_zamestnanec_id) oproti mzdě některého ze zaměstnanců, jenž specifikuje parametr p_type. Hodnoty p_type: – 1 = Rozdíl mzdy zaměstnance oproti mzdě zaměstnance předcházejícího v pořadí dle mzdy. – 2 = Rozdíl mzdy zaměstnance oproti mzdě zaměstnance předcházejícího v pořadí dle mzdy (v rámci oddělení). – 3 = Rozdíl mzdy zaměstnance oproti mzdě zaměstnance následujícího v pořadí dle mzdy. – 4 = Rozdíl mzdy zaměstnance oproti mzdě zaměstnance následujícího v pořadí dle mzdy (v rámci oddělení). IDAS2 – zkouška :00 4
Příklad II – Funkce – 4 body V případě že bude zadán neplatný parametr p_type (povolené hodnoty = 1,2,3,4), vyvolejte výjimku s kódem a textem: „Hodnota parametru p_type je mimo povolený rozsah (p_type IN (1,2,3,4))“ IDAS2 – zkouška :00 5
A_HR IDAS2 – zkouška :00 6
Zásady pro vypracování – Dodržujte názvy databázových objektů a datové typy jejich parametrů. – Daná funkce či procedura musí být ve validním stavu a musí být spustitelná. Jinak na ní nebude brán zřetel. – Pro následnou kontrolu si připravte spouštěcí příkazy pro dané úlohy (SELECT.., EXECUTE). Čas na vypracování: 1 hodina 45 minut IDAS2 – zkouška :00 7
Hodnocení Maximálně je možné získat 9 bodů. Hodnocení: IDAS2 – zkouška :00 8 BodyHodnocení 9Výborně 8Výborně mínus 7Velmi dobře 6Velmi dobře mínus 4,5Dobře 0-3Neprospěl