====== DBS - Individuální úkol č. 3 - sudý týden ====== Uvažujme náš bugtracker z minulého úkolu. Pro připomenutí, zde je jedno z možných řešení. {{:dbs:ukol_reseni_sudy.png?650|}} Tento diagram lze jednoduše transformovat do relačního schématu (viz přednáška). StupenZavaznosti (__Priorita__, Nazev)\\ Uzivatel (__UID__, Jmeno)\\ Programator (__UID__)\\ Tester (__UID__)\\ Komponenta (__ID_KOMP__, Nazev, Popis, UID_Sefprogramator)\\ HlaseniChyby(__ID_REPORTU__, PopisChyby, ID_KOMP, StupenZavaznosti, UID_Nahlasil, DatumCas_Nahlasil, UID_Uzavrel, DatumCas_Uzavrel)\\ DiskusniPrispevek (__ID_PRISPEVKU__, DatumCas, Text, UID, ID_REPORTU)\\ **IO:** Programator[UID] ⊆ Uzivatel[UID]\\ Tester[UID] ⊆ Uzivatel[UID]\\ Komponenta[UID_Sefprogramator] ⊆ Programator[UID]\\ HlaseniChyby[ID_KOMP] ⊆ Komponenta[ID_KOMP]\\ HlaseniChyby[StupenZavaznosti] ⊆ StupenZavaznosti[Priorita]\\ HlaseniChyby[UID_Nahlasil] ⊆ Tester[UID]\\ HlaseniChyby[UID_Uzavrel] ⊆ Programator[UID] // -- je NULL iff chyba není opravena//\\ DiskusniPrispevek[UID] ⊆ Uzivatel[UID]\\ DiskusniPrispevek[ID_REPORTU] ⊆ HlaseniChyby[ID_REPORTU]\\ //Pozor na natural joiny. Pár atributů jsem pro přehlednost přejmenoval.// ===== Zadání ===== Vyjádřete pomocí relační algebry následující dotazy: - Vypište testery (aspoň jména), kteří nahlásili chybu v komponentě, které "šéfuje" Jan Novák. - Vypište **programátory** (aspoň jména), kteří přidali diskusní příspěvek k hlášení o chybě, kterou nahlásil Karel Svoboda. - Vypište seznam (aspoň jména) testerů, kteří nahlásili chybu ve všech komponentách, kterým "šéfuje" Jan Novák. Vyjádřete pomocí SQL následující dotazy: - Vypište seznam všech testerů (aspoň jména) a k nim počet nahlášených chyb komponenty s názvem "libDBS". Pokud nemá žádnou chybu, bude zde číslo 0. - Vypište seznam testerů (aspoň jména), kteří nikdy nenahlásili chybu v žádné knihovně. Knihovna je komponenta, jejíž název začíná na řetěz "lib" (hint: použijte predikát LIKE). - Vypište jména uživatelů, kteří mají více jak 100 diskusních příspěvků.