Databázové systémy 1 Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice
Obsah cvičení -Opakování ze cvičení 5 -Vnořené dotazy -Operátory pro porovnávaní (=,IN,ANY,ALL) -Množinové operátory (UNION) Databázové systémy 1 – cvičení 6 2
A_HR Databázové systémy 1 – cvičení 6 3
Cvičení 6 – Příklady 1.Vypište jméno a příjmení zaměstnance/zaměstnanců, kteří mají v rámci společnosti nejnižší mzdu. 2.Vypište jméno, příjmení a název pozice. Ve výpise se objeví jen pozice, na kterých pracuje jen jeden zaměstnanec. 3.Z tabulky REGIONY vypište všechny regiony. Ke každému regionu připojte informaci o počtu oddělení v daném regionu. Vypište i regiony, které nemají žádná oddělení. Seřaďte dle počtu oddělení sestupně. 4.Vypište název pozice, na kterou jde měsíčně nejvíce prostředků společnosti. 5.Vypište seznam všech zaměstnanců ( jmeno, prijmeni ) spolu s informací o rozdílu platu oproti svému nadřízenému. Ředitele celé společnosti vynechejte. 6.Zobrazte seznam všech zaměstnanců ( prijmeni, mzda ). Do tabulky přidejte textovou konstantu „PODPRUMER“, pokud je mzda zaměstnance v rámci společnosti podprůměrná. Pokud je mzda naopak nadprůměrná zobrazí se text „NADPRUMER“. Databázové systémy 1 – cvičení 6 4
5 Cvičení 6 – Příklady 7.Vypište názvy zemí, ve kterých má společnost nejméně poboček. Zajímají nás jen země, ve kterých je alespoň jedna pobočka. 8.V rámci celé společnosti nalezněte pozice, které mají nejvyšší a nejnižší průměrnou mzdu. Pozice vypište v rámci jednoho dotazu a ke každému záznamu doplňte textovou konstantu „NEJVYŠŠÍ“ nebo „NEJNIŽŠÍ“, dle výše průměrného platu v rámci společnosti.
Cvičení 6 - pohledy Databázové systémy 1 – cvičení Vytvořte pohled cv6_oddeleni_nejnizisi(oddeleni_id, oddeleni_nazev, prumer). Pohled nalezne odděleni, na kterém je v rámci celé společnosti nejnižší průměrná mzda na jednoho zaměstnance. 2.Vytvořte pohled cv6_oddeleni_5_20(prijmeni, mzda, oddeleni_nazev). Pohled zobrazí požadované informace o zaměstnancích. Zobrazí se jen ti zaměstnanci, kteří pracují na oddělení s nejméně pěti a maximálně 20 zaměstnanci. 3.Vytvořte pohled cv6_oddeleni_naklady(oddeleni_id, oddeleni_nazev, naklady). Pohled vypište oddělení z města „Seattle“, která mají měsíční sumu mezd větší, než je suma všech mezd vyplacených v rámci oddělení nacházejících se v Německu. U odděleních uveďte jejich id, název a sumu měsíční sumu mezd na daném oddělení.
Databázové systémy 1 – cvičení 6 7 Cvičení 6 - pohledy 4.Vytvořte pohled cv6_plat_statistika(prijmeni, oddeleni_nazev, mzda, r_minimum, r_prumer, r_maximum). Pohled vypíše přehled všech zaměstnanců (příjmení, název oddělení, mzda). Ke každému zaměstnanci bude vypočteno, o kolik se liší jeho mzda od nejnižší mzdy v rámci oddělení na kterém pracuje (sloupec minimum ), od průměrné mzdy na oddělení (sloupec prumer ) a o kolik se liší od nejvyšší mzdy na daném oddělení (sloupec maximum ). 5.Vytvořte pohled cv6_mzdy_us(jmeno, prijmeni, mzda). Pohled bude obsahovat zaměstnance pracující v rámci Spojených států, jejichž mzda je vyšší, než nejvyšší mzda zaměstnanců pracujících ve městech „London“ a „Oxford“
Databázové systémy 1 – cvičení 6 8 Cvičení 6 - pohledy 6.Vytvořte pohled cv6_prumer_rozdil(jmeno, prijmeni, rozdil). Pohled bude obsahovat seznam zaměstnanců (jméno, příjmení) spolu s informací o rozdílu jejich mzdy a průměrné mzdy na dané pracovní pozici, na které zaměstnanec pracuje (sloupec rozdil ).
Cvičení 6 – Zásady vypracování Všechny příklady budou vypracovány nad schématem A_HR. Všechny databázové objekty z tohoto cvičení vytvořte se svém schématu. Pro splnění cvičení je nutné, aby všechny objekty byly správně vytvořeny a funkční do půlnoci dne před následujícím cvičením. Databázové systémy 1 – cvičení 6 9