E N D
Rámcové zadání • Navrhnout databázi uchovávající rozvrh školy, KDY (den, hodina), KDE (místnost), KDO (učitel), KOHO (kroužek), CO (předmět) učí. U místností znát jejich polohu, u studentů příslušnost ke kroužku, u učitelů jejich katedru, u předmětů katedru zodpovídající za výuku (nemusí být totožná s katedrou konkrétních vyučujících), u kateder jejich vedoucího.
Zjevná zjednodušení oproti skutečnosti • Každý student je jen v jednom kroužku, rozvrh má sestavený podle něj (všichni studenti z kroužku stejný) • Nejsou rozlišeny přednášky a cvičení, resp. přednášky neexistují, výuka se koná vždy jen pro jeden kroužek, v jedné místnosti s jedním učitelem. • Nerozlišují se liché a sudé týdny.
SQL dotazy • select * from studenti • select jmeno,prijmeni from studenti • select jmeno, prijmeni from studenti where idk="471"
SQL dotazy • select * from ucitele, katedry • select * from ucitele, katedry where ucitele.idk=katedry.idk • select ucitele.jmeno, katedry.nazev from ucitele, katedry where ucitele.idk=katedry.idk and katedry.nazev="katedra inženýrské informatiky"
SQL dotazy • select hodiny.den, hodiny.hodina, predmety.nazev, mistnosti.idm, ucitele.prijmeni from hodiny, mistnosti, predmety, ucitele, krouzky, studenti where hodiny.idm=mistnosti.idm and hodiny.idp=predmety.idp and hodiny.idu=ucitele.idu and hodiny.idk=krouzky.idk and studenti.idk=krouzky.idk and studenti.jmeno="Adéla" and studenti.prijmeni="Boršková"
SQL dotazy • select studenti.idk, count(studenti.ids) from studenti group by studenti.idk
Dotazy na loupežníky • select AKCE.PREPADENY, AKCE.DATUM, sum(UCASTI.LUP), avg(UCASTI.LUP) from AKCE,UCASTI where AKCE.IDA=UCASTI.IDA group by AKCE.PREPADENY,AKCE.DATUM • select LOUPEZNICI.SVOBODA, count(LOUPEZNICI.JMENO) from LOUPEZNICI group by LOUPEZNICI.SVOBODA
Dotazy na loupežníky • select MAX(UCASTI.LUP) from AKCE,UCASTI where AKCE.IDA=UCASTI.IDA and AKCE.PREPADENY="zimni palac“ • select LOUPEZNICI.JMENO from LOUPEZNICI, UCASTI,AKCE where LOUPEZNICI.IDL=UCASTI.IDL and AKCE.IDA=UCASTI.IDA and AKCE.PREPADENY="zimni palac" and UCASTI.LUP = ( select MAX(UCASTI.LUP) from AKCE,UCASTI where AKCE.IDA=UCASTI.IDA and AKCE.PREPADENY="zimni palac")
Vaše úkoly • Vypište SQL dotazem celou tabulku studentů • Vypište SQL dotazem váš rozvrh • Vypište SQL dotazem přehled okresů a počtu studentů, kteří v nich bydlí • Do příštího týdne přineste • Na papíře sepsané textové znění zadání IS (!) • Na papíře nakreslený ER diagram • Nic více zatím nedělejte !