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