You are not allowed to perform this action

Table of Contents

DBS - Individuální úkol č. 2 - 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]
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 popis všech komponent, ve kterých našel chybu Jan Novák.
  2. Vypište seznam všech komponent, jejichž chyby někdo komentoval v diskusi.
  3. Vypište šéfprogramátory, kteří mají ve svých komponentách nějakou nevyřešenou chybu (nevyřešenou chybu poznáte tak, že má místo ID programátora, který ji vyřešil, hodnotu NULL).
  4. Vypište jména programátorů, kteří opravili chyby nalezené testerem Jan Novák.
  5. Vypište seznam testerů, kteří nahlásili chybu mezi 1.1.2008 a 31.1.2008 včetně. Předpokládáme, že datum/čas lze porovnávat operátory “je větší” apod. Zápis je ve formátu 'YYYYMMDD HHMM'.
  6. Vypište seznam testerů programátorů (Oprava 20.11.2008 23:38), kteří ještě neopravili chybu v komponentě s názvem “libDBS”.
  7. Vypište jména programátorů, kteří již opravili chybu ve všech komponentách.
dbs/08_ukol2_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