Databázové systémy I Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013
Náplň cvičení DDL, DML Selekce Pohledy Stuktura tabulky Řazení výsledků Databázové systémy I - cvičení č. 6 2
3 Pohledy Databázový objekt Virtuální tabulky na jejichž pozadí je dotaz Je možné nad mini provádět selekce jako nad tabulkami Operace Insert, Update a Delete je možné provádět v omezeném množství Syntaxe: CREATE OR REPLACE VIEW nazev_pohledu AS SELECT …
Databázové systémy I - cvičení č. 6 4 Pohledy Příklad pohledu, který vypíše všechna jména a příjmení zaměstnanců z tabulky a_hr.zamestnanci, kteří jsou z oddělení s id 50 create or replace view zamestnanci_z_oddeleni_50 as select jmeno, prijmeni from a_hr.zamestnanci where oddeleni_id=50;
Pohledy Nad pohledy můžeme provádět dotazy jako nad tabulkou select * from zamestnanci_z_oddeleni_50 where jmeno like 'A%'; --všichni zaměstnanci jejichž jméno začíná na A Databázové systémy I - cvičení č. 6 5
Zobrazení struktury tabulky Pro zobrazení struktury tabulky slouží příkaz DESC/DESCRIBE desc a_hr.zamestnanci; Databázové systémy I - cvičení č. 6 6
Seřazení výsledku Seřazení výsledků je možné pomocí klauzule ORDER BY, které je umístěna jako poslední v příkazu SELECT. Řazení je možné vzestupně ASC, nebo sestupně DESC select * from a_hr.zamestnanci where oddeleni_id=50 order by prijmeni asc, jmeno desc; Databázové systémy I - cvičení č. 6 7
8 Cvičení 6 – Samostatné Představte si, že jste získali zakázku na vytvoření aplikace pro vedení agendy školy. Učitelé učí studenty v několika předmětech. Ve škole je knihovna, která eviduje knihy a výpůjčky studentů. Jsou dány a v databázi budou vytvořeny tyto tabulky: STUDENTI ( ID_studenta, jmeno, prijmeni, nastup ) UCITELE ( ID_ucitele, jmeno, prijmeni ) UCI ( ID_studenta, ID_ucitele, predmet ) KNIHY ( ID_knihy, ID_studenta, nazev ) Přičemž datové typy pro ID_studenta použijte jako NetID na univerzitě, ID_ucitele a ID_knihy jsou celá čísla vhodného rozsahu, řetězce mají proměnnou délku v počtech znaků, nastup je datum zápisu.
Databázové systémy I - cvičení č. 6 9 Cvičení 6 – Samostatné 1. Vytvořte tyto tabulky STUDENTI, UCITELE, UCI a KNIHY ve Vašem schématu. Nezapomeňte na definici primárních klíčů ve všech vytvářených tabulkách. 2. Zobrazte strukturu vytvořené tabulky UCI. 3. Vložte do každé tabulky minimálně 4 řádky. 4. Vypište si všechny záznamy z tabulky UCI. 5. Vypište všechna jména z tabulky UCITELE, která začínají na písmeno 'M'. 6. Vytvořte pohled v_ucitele_na_m, nad dotazem z úkolu 5 7. Všechna jména ‘Josef’ v tabulce STUDENTI změňte na ‘Jozef’. 8. Z tabulky STUDENTI vypište sloupec prijmeni, záznamy setřiďte vzestupně. 9. Vytvořte pohled v_prijmeni_studentu_asc nad dotazem z úkolu 8
Databázové systémy I - cvičení č Cvičení 6 – Samostatné 10. Z tabulky student vypište sloupec jmeno s nadpisem Jmeno, setříděné sestupně. 11. Vytvořte pohled v_jmena_studentu_desc nad dotazem z ukolu Z tabulky učitel vypište sloupec prijmeni s nadpisem Prijmeni setříděné vzestupně. 13. Vytvořte pohled v_prijmeni_studentu_asc nad dotazem z úkolu Z tabulky STUDENTI vypište všechny studenty, kteří se nejmenují ' Petr '. 15. Odstraňte všechny řádky z tabulky UCI (všech). Ověřte. 16. Odstraňte všechny řádky se jménem ' Jozef ' v tabulce STUDENTI. Ověřte. 17. Odstraňte tabulku KNIHY, kterou jste vytvořili.
Databázové systémy I - cvičení č Cvičení 6 - Samostatné Veškeré objekty vytvářejte ve vlastním schématu Dodržujte názvy všech vytvářených objektů Do příštího cvičení mějte ve vlastním schématu vytvořeny všechny objekty z modelu videopůjčovny, včetně omezení