Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Databázové systémy 2 Cvičení IV Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky

Podobné prezentace


Prezentace na téma: "Databázové systémy 2 Cvičení IV Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky"— Transkript prezentace:

1 Databázové systémy 2 Cvičení IV Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky tomas.vana@upce.cz

2 Obsah cvičení -PL/SQL - Funkce a procedury. IDAS2 - Cvičení IV 2

3 3 Cvičení 4 – Příklad I -Vytvořte proceduru CV4_NASTAV_PLATY, která vloží záznamy do tabulky cv4_trpaslici_plat(id_trpaslika NUMBER(2,0),plat NUMBER(8,2)), kterou si vytvoříte ve vašem schématu. -Tabulka cv6_trpaslici_plat bude obsahovat kromě identifikátoru trpaslíka i jeho vypočtený plat. Plat bude vypočten tak, že za každý skutečně vytěžený kg v období 5.2.2012 – 25.2.2012 obdrží trpaslík 1,25 zlaťáku. Výjimkou jsou trpaslíci, jejichž výška je méně než 110 cm, ti obdrží paušálně navíc 30 zlaťáků. Pro naplnění tabulky využijte explicitního kurzoru. Kromě toho procedura navíc vypíše na výstupní zařízení informaci o tom, kolik bylo trpaslíkům celkem vyplaceno. -Viz ukázka: Výdaje: 4323,75 A_O_SNEHURCE

4 IDAS2 - Cvičení IV 4 Cvičení 4 – Příklad II -Vytvořte proceduru CV4_TRPASLIK_VLASTNOSTI. -Procedura bude vkládat záznamy do tabulky CV4_TRPASLICI_VLASTNOSTI(jmeno VARCHAR2(20), vlastnosti VARCHAR2(100)), kterou si vytvoříte ve vlastním schématu. Pro každého trpaslíka vznikne v tabulce jeden záznam (i kdyby žádné vlastnosti trpaslík neměl), který bude obsahovat jeho jméno a zřetězený seznam vlastností oddělený středníkem (vlastnost1;vlastnost2;…;). -Pro naplnění tabulky využijte implicitní kurzory. -Příklad z naplněné tabulky: A_O_SNEHURCE

5 IDAS2 - Cvičení IV 5 Cvičení 4 – Příklad III -Vytvořte proceduru CV4_TRPASLICI_ZEBRICEK. -Procedura CV6_TRPASLICI_ZEBRICEK (OD VARCHAR2, DO VARCHAR2) vypíše (na standardní výstup) žebříček nejvýše tří trpaslíků, kteří v zadaném období (parametry od, do) vytěžili absolutně nejvíce rudy. -Parametry od, do zadejte pomocí řetězce, jejich převod na datový typ DATE realizujte až uvnitř procedury. -Na prvním řádku výstupu uveďte, za jaké období je žebříček sestaven. Formát: Výpis za období od - do: -Dále bude následovat samotné pořadí trpaslíku. Vždy se objeví maximálně 3 trpaslíci. Viz ukázka na následujícím snímku. A_O_SNEHURCE

6 IDAS2 - Cvičení IV 6 Cvičení 4 – Příklad IV

7 IDAS2 - Cvičení IV 7 -Vytvořte proceduru cv4_delete_script(p_schema VARCHAR2). -Procedura vypíše na standardní výstup skript, který bude možné použít pro smazaní všech tabulek ve schématu. Schéma bude reprezentováno parametrem p_schema. -Parametr p_schema nesmí být citlivý na velikost písma (case insensitive). -Skript bude seřazen vzestupně podle názvu tabulky. -Ukázka výstupu: Cvičení 4 – Příklad IV

8 IDAS2 - Cvičení IV 8 Cvičení 4 – Příklad V -Vytvořte funkci cv4_pomer_plat(p_mzda NUMBER, p_oddeleni_id NUMBER) RETURN VARCHAR2; -Parametr p_oddeleni_id nastavte jako volitelný s defaultní hodnotou NULL. -Funkce vrátí řetězec (VARCHAR2), který procentuálně vyjádří výši mzdy zadané parametrem p_mzda k průměrnému platu: -A) Pokud nebude zadáno p_oddeleni_id, poměr se vypočítá z průměrného platu v celé organizaci. -B) Pokud bude p_oddeleni_id zadáno, poměr se počítá proti průměru platů na daném oddělení. -Využijte schématu A_HR, tabulka ZAMESTNANCI. -Příklad výsledku při použití funkce v dotazu: A_HR

9 IDAS2 - Cvičení IV 9 -Vytvořte funkci cv4_vekova_skupina(p_datum DATE) RETURN VARCHAR2; -Funkce ze zadaného data narození učí, do které věkové skupiny daný člověk patří. Výstup se bude řídit následujícími pravidly: -0 – 18 let „Dítě“ -18 – 65 let „Dospělý“ -65 + „Důchodce“ -V případě jiné hodnoty se vypíše „Neznámá“ -Funkci můžete otestovat ve schématu A_CLOVEK. Cvičení 4 – Příklad VI A_CLOVEK

10 Schéma A_CLOVEK IDAS2 - Cvičení IV 10

11 Schéma A_HR IDAS2 - Cvičení IV 11

12 Schéma A_O_SNEHURCE IDAS2 - Cvičení IV 12


Stáhnout ppt "Databázové systémy 2 Cvičení IV Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky"

Podobné prezentace


Reklamy Google