Table of Contents

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í.

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:

  1. Vypište testery (aspoň jména), kteří nahlásili chybu v komponentě, které “šéfuje” Jan Novák.
  2. Vypište programátory (aspoň jména), kteří přidali diskusní příspěvek k hlášení o chybě, kterou nahlásil Karel Svoboda.
  3. 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:

  1. 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.
  2. 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).
  3. Vypište jména uživatelů, kteří mají více jak 100 diskusních příspěvků.
dbs/08_ukol3_sudy.txt · Last modified: 2011/08/16 22:33 (external edit)
Back to top
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0