DBS - Individuální úkol č. 2 - lichý týden

Uvažujme evidenci letů z minulého úkolu. Pro připomenutí, zde je ER model jednoho z možných řešení.

Tento diagram lze jednoduše transformovat do relačního schématu (viz poslední přednáška).

Letadlo (ID_LETADLO, Oznaceni, kapacita)
Jazyky (ID_JAZ, NazevJazyka)
Personal (ID_PERS, Jmeno)
Letuska (ID_PERS) – je to divné, ale je potřeba je nějak určit
Pilot (ID_PERS, PilotniPrukaz)
UmiJazyk (ID_PERS, ID_JAZ)
Destinace (ID_DEST, JmenoLetiste)
Opatreni (ID_OPATRENI, Popis)
VyzadujeOpatreni (ID_DEST, ID_OPATRENI)
Let (ID_LET, DatumCasOdletu, DatumCasPriletu, RezervaceUkoncena, ID_LETADLO, ID_DEST_Z, ID_DEST_DO) – :!: pozor na join!
Pasazer (ID_PAS, Jmeno)
Cestuje (ID_PAS, ID_LET)
NaPalube (ID_PERS, ID_LET)

IO:

Letuska [ID_PERS] ⊆ Personal [ID_PERS]
Pilot [ID_PERS] ⊆ Personal [ID_PERS]
UmiJazyk [ID_PERS] ⊆ Letuska [ID_PERS]
UmiJazyk [ID_JAZ] ⊆ Jazyky [ID_JAZ]
VyzadujeOpatreni [ID_DEST] ⊆ Destinace[ID_DEST]
VyzadujeOpatreni [ID_OPATRENI] ⊆ Opatreni[ID_OPATRENI]
Let [ID_LETADLO] ⊆ Letadlo[ID_LETADLO]
Let [ID_DEST_Z] ⊆ Destinace[ID_DESTINACE]
Let [ID_DEST_DO] ⊆ Destinace[ID_DESTINACE]
Cestuje [ID_PAS] ⊆ Pasazer[ID_PAS]
Cestuje [ID_LET] ⊆ Let[ID_LET]
NaPalube [ID_PERS] ⊆ Personal[ID_PERS]
NaPalube [ID_LET] ⊆ Let[ID_LET]

Zadání

Vyjádřete pomocí relační algebry následující dotazy:

  1. Vypište popis všech opatření pro let s číslem 3.
  2. Vypište seznam letišť, kam letěl pilot Jan Novák.
  3. Vypište všechny lety do Ria de Janeira, které ještě mají otevřenou registraci. Atribut RegistraceUzavrena nabývá hodnot true nebo false.
  4. Vypište seznam destinací, kam se již letělo z New Yorku.
  5. Vypište seznam pasažérů, kteří letěli 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 jména pilotů, kteří ještě nebyli v Riu.
  7. Vypište jména letušek, které již letěly na všech letadlech.