Databáze

Témata k procvičování v distančním studiu

Doc. Dr. Vladimír Homola, Ph.D.

První kapitola procvičuje práci v prostředí databázového programu. Zároveň testuje alespoň minimální schopnost analýzy úlohy při stanovení typů a významu jednotlivých datových polí. Podstatný je pak úkol vytvoření relací a správné stanovení jejich vlastností.

Na první kapitolu pak navazují příklady druhé kapitoly, situačně (a tedy i datově) totožné. Procvičují zápis a funkčnost dotazů jakožto příkazů SQL. Proto už při řešení úloh první kapitoly by na to měl být brán ohled, např. při volbě jmen datových polí.

Třetí kapitola obchází nutnost kompletní analýzy a vytvoření databáze. Simuluje velmi častou situaci u reálných zaměstnavatelů: Zaměstnance posadí k aktuálním firemním datům, sdělí požadované dotazy, a ty zaměstnanče získej odpovědi. Tak jsou ve třetí kapitole postaveny jednotlivé příklady k procvičení: tady je databáze, tady jsou formulovány verbálně dotazy - a jaképak jsou SQL odpovědi?

Prostředí databázového programu - brnkačka

Poznámka a upozornění: V jednotlivých příkladech této první kapitoly jsou úkoly 2 a 3 pro procvičení práce s datovým listem, nikoliv s dotazy. Naopak úkoly 5 a 6 jsou téměř totožně znějící úkoly, ale právě na dotazy. Zde se procvičuje práce v grafickém návrhovém prostředí dotazu, nikoliv zápisem SQL.

Literatura

V distanční výuce bylo odkazováno na skripta Homola, Drozdová: Databáze - upraveno pro distanční výuku (2020), ke stažení jako DBASGMT.PDF zde. Úloh v této první části procvičování se týkají následující kapitoly skript:

 

Firma

Jste majitelem rozsáhlé firmy mající spoustu zaměstnanců (asi 10) pracujících v mnoha odděleních (asi 3). Vytvořte databázi, která vám umožní sledovat u zaměstnanců alespoň jméno, datum nástupu, plat a oddělení, u oddělení alespoň název, datum zřízení, předpokládané datum zrušení a celkový zisk v [mil.Kč]. Databázi koncipujte jako dvoutabulkovou, mezi tabulkami vytvořte vazbu (relaci).

 

  1. Předveďte vytvořenou vazbu vnořeným datovým listem v listu oddělení.
  2. Zobrazte v datovém listu údaje o zaměstnancích v pořadí jméno - plat - datum nástupu - oddělení, seřazených podle oddělení a jmen zaměstnanců.
  3. Zobrazte v datovém listu podle bodu 2 jen zaměstnance s platem větším než 18.000,- Kč.
  4. Zajistěte, aby v datovém listu podle bodu 2 bylo možno volit oddělení výběrem z nabídky obsahující názvy oddělení.
  5. Vytvořte dotaz, který zobrazí všechny údaje o zaměstnancích řazených podle abecedy s platem větším než 18.000,- Kč.
  6. Vytvořte dotaz, který zobrazí, kolik peněz je zapotřebí na platy zaměstnanců v jednotlivých odděleních - ale jen v těch odděleních, kde to překročí 40.000,- Kč.

Auta

Jste majitelem obrovské automobilky, která prodala mnoho aut (asi 10) nejrůznějších modelů (asi 3) různých barev. Vytvořte databázi, která vám umožní sledovat u každého prodeje alespoň datum prodeje, jméno zákazníka, prodaný model a jeho cenu a barvu, u každého modelu alespoň jeho obchodní jméno, datum náběhu a (předpokládaného) ukončení výroby, a váhu v [Kg]. Databázi koncipujte jako dvoutabulkovou, mezi tabulkami vytvořte vazbu (relaci).

 

  1. Předveďte vytvořenou vazbu vnořeným datovým listem v listu modelů.
  2. Zobrazte v datovém listu prodejů údaje v pořadí jméno zákazníka - datum - cena barva - model, seřazených podle modelů a jmen zákazníků.
  3. Zobrazte v datovém listu podle bodu 2 prodeje jen těm zákazníkům, kteří koupili auto dražší než 600.000,- Kč.
  4. Zajistěte, aby v datovém listu podle bodu 2 bylo možno volit model výběrem z nabídky obsahující jména modelů.
  5. Vytvořte dotaz, který zobrazí všechny údaje o prodejích řazených podle jmen zákazníků s jednotlivým prodejem větším než 600.000,- Kč..
  6. Vytvořte dotaz, který zobrazí, kolik se celkem utržilo za jednotlivé modely  - ale jen pro ty modely, kde to překročí 2 miliony.

Knihy

Jste majitelem rozsáhlé knihovny mající spoustu knih (asi 10) od různých autorů nakoupených v mnoha knihkupectvích (asi 3). Vytvořte databázi, která vám umožní sledovat u knih alespoň titul, jméno autora, cenu, datum nákupu a knihkupectví; u knihkupectví alespoň název, datum poslední a předpokládané další inventury, a počet nabízených titulů. Databázi koncipujte jako dvoutabulkovou, mezi tabulkami vytvořte vazbu (relaci).

 

  1. Předveďte vytvořenou vazbu vnořeným datovým listem v listu knihkupectví.
  2. Zobrazte v datovém listu údaje o knihách v pořadí knihkupectví - titul - datum - cena - autor, seřazených podle knihkupectví a jmen autorů.
  3. Zobrazte v datovém listu podle bodu 2 jen knihy dražší než 400,- Kč..
  4. Zajistěte, aby v datovém listu podle bodu 2 bylo možno volit obchod výběrem z nabídky obsahující názvy knihkupectví.
  5. Vytvořte dotaz, který zobrazí všechny údaje o knihách řazených podle abecedy s cenou větší než 400,- Kč.
  6. Vytvořte dotaz, který zobrazí, kolik jste utratili v jednotlivých knihkupectvích - ale jen v těch, kde ta celková útrata překročila 2.000,- Kč.

Rybář

Jste náruživým rybářem, který strávil spoustu dní (asi 10) u mnoha rybníků (asi 3). Vytvořte databázi, která vám umožní sledovat, který den jste u kterého rybníka nalovil kolik ryb a kolik hodin jste tam ten den proseděl. U rybníků sledujte alespoň název, největší hloubku v [m], a datum posledního a datum předpokládaného následujícího vypuštění. Databázi koncipujte jako dvoutabulkovou, mezi tabulkami vytvořte vazbu (relaci).

 

  1. Předveďte vytvořenou vazbu vnořeným datovým listem v listu rybníků.
  2. Zobrazte v datovém listu údaje o dnech rybaření v pořadí datum - hodin - rybník - počet ryb, seřazených podle rybníků a datumů.
  3. Zobrazte v datovém listu podle bodu 2 jen dny s více než 6 rybami..
  4. Zajistěte, aby v datovém listu podle bodu 2 bylo možno volit rybník výběrem z nabídky obsahující názvy rybníků.
  5. Vytvořte dotaz, který zobrazí všechny údaje o dnech rybaření řazených podle rybníků s více než 6 nalovenými rybami.
  6. Vytvořte dotaz, který zobrazí, kolik se celkem nalovilo v jednotlivých rybnících - ale jen v těch, kde se celkem nalovilo víc než 30 kusů.

Vinotéka

Jste majitelem obrovské vinotéky mající spoustu lahví vín (asi 10) mnoha odrůd (asi 3). Vytvořte databázi, která vám umožní sledovat u jednotlivých lahví vín alespoň obchodní název vína vytištěný na etiketě lahve, datum sklizně, cenu této lahve, a název odrůdy; u odrůd alespoň název, datum vysazení, datum první kvalitní sklizně a celkovou plochu v [ha]. Databázi koncipujte jako dvoutabulkovou, mezi tabulkami vytvořte vazbu (relaci).

 

  1. Předveďte vytvořenou vazbu vnořeným datovým listem v listu odrůd.
  2. Zobrazte v datovém listu údaje o lahvích vín v pořadí obchodní název - cena - datum sklizně - odrůda, seřazených podle odrůd a obchodních názvů.
  3. Zobrazte v datovém listu podle bodu 2 jen lahve vín s cenou větší než 800,- Kč.
  4. Zajistěte, aby v datovém listu podle bodu 2 bylo možno volit odrůdu výběrem z nabídky obsahující názvy odrůd.
  5. Vytvořte dotaz, který zobrazí všechny údaje o lahvích vín řazených podle obchodních názvů s cenou větší než 800,- Kč.
  6. Vytvořte dotaz, který zobrazí, kolik je celková cena všech lahví každé z odrůd - ale jen těch odrůd, kde celková cena překročí 2.000,- Kč.

Hudba

Jste hudebním fandou a máte neuvěřitelné množství hudebních CD alb (asi 3). Na každém z nich je spousta skladeb (tak tři, čtyři). Vytvořte databázi, která vám umožní sledovat u jednotlivých skladeb alespoň název skladby, interpreta, dobu trvání v minutách, album a pořadí na CD nosiči, u každého alba alespoň název alba, datum vydání, datum zakoupení a cenu v Kč. Databázi koncipujte jako dvoutabulkovou, mezi tabulkami vytvořte vazbu (relaci).

 

  1. Předveďte vytvořenou vazbu vnořeným datovým listem v listu albumů.
  2. Zobrazte v datovém listu údaje o skladbách v pořadí název skladby - doba trvání - pořadí na CD - interpret - album, seřazených podle albumů a pořadí na CD.
  3. Zobrazte v datovém listu podle bodu 2 jen skladby trvající déle než 4 minuty.
  4. Zajistěte, aby v datovém listu podle bodu 2 bylo možno volit album výběrem z nabídky obsahující názvy alb.
  5. Vytvořte dotaz, který zobrazí všechny údaje o skladbách řazených podle názvů s dobou trvání delší než 4 minuty.
  6. Vytvořte dotaz, který zobrazí, kolik je celková délka skladeb na jednotlivých albech - ale jen na těch, kde to překročí 12 minut.

Penzion

Jste majitelem proslulého penzionu majícího množství pokojů (asi 3) a ubytováváte spoustu hostů (asi 10). Vytvořte databázi, která vám umožní u hostů sledovat alespoň jméno, datumy příjezdu a odjezdu, zaplacenou zálohu a pokoj, kde jste je bytovali; u pokojů alespoň označení (apartmán, turistický, business), počet lůžek, cenu za noc a zda má připojení na Internet. Databázi koncipujte jako dvoutabulkovou, mezi tabulkami vytvořte vazbu (relaci).

 

  1. Předveďte vytvořenou vazbu vnořeným datovým listem v listu pokojů.
  2. Zobrazte v datovém listu údaje o hostech v pořadí příjezd - odjezd - jméno - záloha - pokoj, seřazených podle pokojů a datumů příjezdů.
  3. Zobrazte v datovém listu podle bodu 2 jen hosty se zálohou alespoň 1.500,- Kč.
  4. Zajistěte, aby v datovém listu podle bodu 2 bylo možno volit pokoj výběrem z nabídky obsahující označení pokojů.
  5. Vytvořte dotaz, který zobrazí všechny údaje o hostech řazených podle abecedy se zálohou alespoň 1.500,- Kč.
  6. Vytvořte dotaz, který zobrazí, kolik hosté celkově zaplatili zálohy u jednotlivých pokojů - ale jen těch pokojů, kde to bylo alespoň 4.000,- Kč.

Turista

Jste neúnavný turista, který ve svém hornatém regionu s množstvím pohoří (asi 3) vystoupá snad na všechny jejich vrcholy (celkem asi 10). Vytvořte databázi, která vám umožní sledovat u vrcholů alespoň název, nadmořskou výšku v metrech, ve kterém je pohoří, datum poslední návštěvy a kolik km je od vašeho domova; u pohoří alespoň název, rozlohu v km2, nejvyšší nadmořskou výšku, a zda je v něm CHKO. Databázi koncipujte jako dvoutabulkovou, mezi tabulkami vytvořte vazbu (relaci).

 

  1. Předveďte vytvořenou vazbu vnořeným datovým listem v listu pohoří.
  2. Zobrazte v datovém listu údaje o vrcholech v pořadí výška - km od domova - datum návštěvy - pohoří - název vrcholu seřazených podle pohoří a výšky.
  3. Zobrazte v datovém listu podle bodu 2 jen vrcholy alespoň 1000 metrů vysoké.
  4. Zajistěte, aby v datovém listu podle bodu 2 bylo možno volit pohoří výběrem z nabídky obsahující názvy pohoří.
  5. Vytvořte dotaz, který zobrazí všechny údaje o vrcholech řazených podle abecedy s výškou alespoň 1000 metrů.
  6. Vytvořte dotaz, který zobrazí, jaká je průměrná výška navštívených vrcholů v jednotlivých pohořích - ale jen v těch pohořích, kde to překročí 1000 metrů.

Dotazy pomocí SQL - pro velmi mírně pokročilé

Poznámka: Přesně opačná situace než v předchozí kapitole. Jde skutečně o procvičení tvorby kompletního příkazu SQL vytvořeného vlastní hlavou. Takže, prosím, ne že si dotaz sestavím v grafickém prostředí, pak se podívám na vygenerovaný text SQL a jen si ho zkopíruju :-(

Literatura

Stejný zdroj jako shora ke stažení zde. Úloh v této druhé části procvičování se týkají následující kapitoly skript:

 

Firma

Jste majitelem rozsáhlé firmy mající spoustu zaměstnanců (asi 10) pracujících v mnoha odděleních (asi 3). Vytvořte databázi, která vám umožní sledovat u zaměstnanců alespoň jméno, datum nástupu, plat a oddělení, u oddělení alespoň název, datum zřízení, předpokládané datum zrušení a celkový zisk v [mil.Kč]. Databázi koncipujte jako dvoutabulkovou, mezi tabulkami vytvořte vazbu (relaci).

 

  1. Zapište příkaz Select (SQL), který zobrazí všechny údaje o zaměstnancích řazených podle abecedy - ale jen z těch oddělení, které budou celkem existovat alespoň 9 let.
  2. Zapište příkaz Select (SQL), který zobrazí všechny údaje o odděleních majících alespoň jednoho zaměstnance s platem větším než 20.000,- Kč.

Auta

Jste majitelem obrovské automobilky, která prodala mnoho aut (asi 10) nejrůznějších modelů (asi 3) různých barev. Vytvořte databázi, která vám umožní sledovat u každého prodeje alespoň datum prodeje, jméno zákazníka, prodaný model a jeho cenu a barvu, u každého modelu alespoň jeho obchodní jméno, datum náběhu a (předpokládaného) ukončení výroby, a váhu v [Kg]. Databázi koncipujte jako dvoutabulkovou, mezi tabulkami vytvořte vazbu (relaci).

 

  1. Zapište příkaz Select (SQL), který zobrazí všechny údaje o prodejích řazených podle jmen zákazníků - ale jen prodeje těch modelů, které se celkem vyrábí (vyráběly) alespoň 2 roky.
  2. Zapište příkaz Select (SQL), který zobrazí všechny údaje o modelech, který si koupil alespoň jeden zákazník za víc než 400.000,- Kč.

Knihy

Jste majitelem rozsáhlé knihovny mající spoustu knih (asi 10) od různých autorů nakoupených v mnoha knihkupectvích (asi 3). Vytvořte databázi, která vám umožní sledovat u knih alespoň titul, jméno autora, cenu, datum nákupu a knihkupectví; u knihkupectví alespoň název, datum poslední a předpokládané další inventury, a počet nabízených titulů. Databázi koncipujte jako dvoutabulkovou, mezi tabulkami vytvořte vazbu (relaci).

 

  1. Zapište příkaz Select (SQL), který zobrazí všechny údaje o vašich knihách řazených abecedně podle jména autora - ale jen nakoupené v těch knihkupectvích, kde následující inventura bude nejméně 2 roky po předchozí.
  2. Zapište příkaz Select (SQL), který zobrazí všechny údaje o knihkupectvích, ve kterých byla nakoupena alespoň jedna kniha dražší než 400,- Kč.

Rybář

Jste náruživým rybářem, který strávil spoustu dní (asi 10) u mnoha rybníků (asi 3). Vytvořte databázi, která vám umožní sledovat, který den jste u kterého rybníka nalovil kolik ryb a kolik hodin jste tam ten den proseděl. U rybníků sledujte alespoň název, největší hloubku v [m], a datum posledního a datum předpokládaného následujícího vypuštění. Databázi koncipujte jako dvoutabulkovou, mezi tabulkami vytvořte vazbu (relaci).

 

  1. Zapište příkaz Select (SQL), který zobrazí všechny údaje o dnech vašeho rybaření - ale jen v těch rybnících, které budou vypuštěny zase nejméně za 2 roky.
  2. Zapište příkaz Select (SQL), který zobrazí všechny údaje o rybnících, v nichž jste alespoň jednou vylovil nejméně 10 ryb.

Vinotéka

Jste majitelem obrovské vinotéky mající spoustu lahví vín (asi 10) mnoha odrůd (asi 3). Vytvořte databázi, která vám umožní sledovat u jednotlivých lahví vín alespoň obchodní název vína vytištěný na etiketě lahve, datum sklizně, cenu této lahve, a název odrůdy; u odrůd alespoň název, datum vysazení, datum první kvalitní sklizně a celkovou plochu v [ha]. Databázi koncipujte jako dvoutabulkovou, mezi tabulkami vytvořte vazbu (relaci).

 

  1. Zapište příkaz Select (SQL), který zobrazí všechny údaje o lahvích vína řazených podle obchodních názvů - ale jen těch odrůd, u kterých byla první kvalitní sklizeň po více než třech letech.
  2. Zapište příkaz Select (SQL), který zobrazí všechny údaje o odrůdách majících alespoň jednu láhev dražší než 1.000,- Kč.

Hudba

Jste hudebním fandou a máte neuvěřitelné množství hudebních CD alb (asi 3). Na každém z nich je spousta skladeb (tak tři, čtyři). Vytvořte databázi, která vám umožní sledovat u jednotlivých skladeb alespoň název skladby, interpreta, dobu trvání v minutách, album a pořadí na CD nosiči, u každého alba alespoň název alba, datum vydání, datum zakoupení a cenu v Kč. Databázi koncipujte jako dvoutabulkovou, mezi tabulkami vytvořte vazbu (relaci).

 

  1. Zapište příkaz Select (SQL), který zobrazí všechny údaje o skladbách řazených podle názvů - ale jen z těch alb, které byly dražší než 300 Kč.
  2. Zapište příkaz Select (SQL), který zobrazí všechny údaje o albech majících alespoň jednu skladbu delší než 5 minut.

Penzion

Jste majitelem proslulého penzionu majícího množství pokojů (asi 3) a ubytováváte spoustu hostů (asi 10). Vytvořte databázi, která vám umožní u hostů sledovat alespoň jméno, datumy příjezdu a odjezdu, zaplacenou zálohu a pokoj, kde jste je bytovali; u pokojů alespoň označení (apartmán, turistický, business), počet lůžek, cenu za noc, a zda má připojení na Internet. Databázi koncipujte jako dvoutabulkovou, mezi tabulkami vytvořte vazbu (relaci).

 

  1. Zapište příkaz Select (SQL), který zobrazí všechny údaje o hostech řazených podle abecedy - ale jen o těch hostech, kteří se alespoň jednou ubytovali v pokoji s Internetem.
  2. Zapište příkaz Select (SQL), který zobrazí všechny údaje o pokojích, ve kterých někdo bydlel souvisle alespoň 5 dní.

Turista

Jste neúnavný turista, který ve svém hornatém regionu s množstvím pohoří (asi 3) vystoupá snad na všechny jejich vrcholy (celkem asi 10). Vytvořte databázi, která vám umožní sledovat u vrcholů alespoň název, nadmořskou výšku v metrech, ve kterém je pohoří, datum poslední návštěvy a kolik km je od vašeho domova; u pohoří alespoň název, rozlohu v km2, nejvyšší nadmořskou výšku, a zda je v něm CHKO. Databázi koncipujte jako dvoutabulkovou, mezi tabulkami vytvořte vazbu (relaci).

 

  1. Zapište příkaz Select (SQL), který zobrazí všechny údaje o vrcholech řazených podle abecedy - ale jen o vrcholech v pohořích s CHKO.
  2. Zapište příkaz Select (SQL), který zobrazí všechny údaje o pohořích majících alespoň jeden zdolaný vrchol vyšší než 1000 m.

Doprava

Jste majitel rozsáhlé autobusové přepravy na mnoha linkách (asi 3) se značným množstvím autobusů, každý jezdí pořád na stejné lince (asi 3 až 4 na každé lince). Vytvořte databázi, která vám umožní sledovat u každého autobusu alespoň evidenční číslo, linku, počet míst k sezení, počet míst celkem, zda je bezbariérový a max. rychlost; u linek alespoň číslo, délku v km, počet zastávek a datum zprovoznění. Databázi koncipujte jako dvoutabulkovou, mezi tabulkami vytvořte vazbu (relaci).

 

  1. Zapište příkaz Select (SQL), který zobrazí všechny údaje o autobusech řazených podle evid.čísla - ale jen o autobusech na linkách delších než 20 km.
  2. Zapište příkaz Select (SQL), který zobrazí všechny údaje o linkách majících alespoň jeden autobus pro více než 20 stojících cestujících.

Nábytek

Jste majitel obrovské obchodní firmy mající spoustu kanceláří (asi 3) vybavených dohromady množstvím nábytku (asi 10 kusů). Vytvořte databázi, která vám umožní sledovat u každého kusu nábytku alespoň název, cenu, místnost, váhu v kg a datum pořízení; u každé místnosti alespoň číslo, způsob využití, počet zaměstnanců a plochu v m2. Databázi koncipujte jako dvoutabulkovou, mezi tabulkami vytvořte vazbu (relaci).

 

  1. Zapište příkaz Select (SQL), který zobrazí všechny údaje o nábytku řazených podle názvu - ale jen o nábytku z místností s alespoň 3 zaměstnanci.
  2. Zapište příkaz Select (SQL), který zobrazí všechny údaje o místnostech majících alespoň jeden kus nábytku těžší než 30 kg.

Trošku ale jenom trošku složitější dotazy SQL na přichystaných datech

Čtenářka

Jste vášnivou čtenářkou. Doma máte řadu knih (asi patnáct) od různých autorů (asi od čtyřech), které jste nakoupila v různých dnech v různých knihkupectvích (asi čtyřech) za různou cenu. Knihy vydávají různá vydavatelství. Každý autor má uzavřenou exkluzivní smlouvu s jediným vydavatelem, ve které se zavazuje vydávat své knihy pouze u něj a oznámit to případným jiným vydavatelům - jinak jim hrozí vymahatelná pokuta za porušení vydavatelských práv za každý kus knihy prodané jiným než smluvním vydavatelem.

Stáhněte a otevřete databázi

hom50.cz/KNIHY.ACCDB

a sestavte v ní dotazy, které odpoví na otázky:

 

  1. Kolik jsem utratila za všechny knihy? (Odp.: 5 683)
  2. Kolik jsem utratila za knihy z knihkupectví, mající sídlo v Plzni? (Odp.: 542)
  3. Které knihy mám od nejstaršího žijícího autora? (Odp.: 8 x Erben)
  4. V kterých městech jsem nakupovala knihy autorů píšících anglicky? (Odp.:Praha)
  5. Ve kterých knihkupectvích jsem nenakupovala? (Odp.: Špalíček)
  6. Kolik celkem získali jednotliví smluvní vydavatelé od jiných (nesmluvních) vydavatelů na pokutách ze mnou nakoupených knih? (Odp.: NVO 160 od MOB, SLS 300 od QBP)

 

Modelka

Jste úspěšnou modelkou. Různé evropské agentury (asi čtyři) se zprostředkovatelskou službou po celém světě vás angažují pro různé módní návrháře (asi pro čtyři) z různých zemí. Ti jsou na rozdíl od agentur peciválové, své modely prezentují jen ve své zemi. Za zprostředkování každé akce pro některého návrháře, trvající i několik dnů, platíte každé agentuře jednorázově jí požadovaný poplatek. Naopak od každého návrháře dostáváte za každý den jeho akce jím nabízenou denní odměnu.

Stáhněte a otevřete databázi

hom50.cz/MODELKY.ACCDB

a sestavte v ní dotazy, které odpoví na otázky:

 

  1. Kolik akcí mám nasmlouváno do konce roku 2022? (Odp.: 30)
  2. Kolik akcí mám nasmlouváno do konce roku 2022 ve Francii? (Odp.: 7)
  3. Kolik si vydělám v únoru 2022? (Odp.: 129 500)
  4. Od kterého návrháře dostanu nejvíce? (Odp.: P. J. Whitemann)
  5. Bude nějaká akce pro mne ztrátová? (Odp.: Bude - 1.3.2022)
  6. Pro které návrháře mne angažovala agentura mající sídlo v zemi návrháře? (Odp.: B.Bertram, J. Jasoň, P. J. Whitemann)

Pokud se některá akce koná alespoň jeden den v roce 2022, považujte ji celou za akci roku 2022. Pokud se některá akce koná alespoň jeden den v únoru, považujte ji celou za únorovou.

Dotazy řešte kartézským součinem nebo pomocí join, pro zdokonalení si nejlépe vyzkoušejte obojí.

Řiditel

Pro odlehčení od závažného tématu databází: Pohybujeme se v oblasti nejpřísnější logiky, kde při vyjadřování záleží na každém slově, ba na každém písmenku. Uvědomme si proto – jazykovým škarohlídům navzdory – že ŘIDITEL řídí (nebo alespoň by měl), kdežto ŘEDITEL ředí (např. nepřizpůsobivým krabicové víno). Srov. také Řídící učitel, Řiditelna - ta v kontrastu s Ředitelnou, což je část kabinetu chemikáře sloužící správnému naředění chemikálií před demonstračními pokusy .

Jste řiditelem prestižního vzdělávacího ústavu, který ve svých mnoha třídách (asi čtyřech) různých ročníků (asi třech) vyučuje nepřeberné davy studentů (dohromady asi deset). Pro jejich závratný počet můžete vytvářet i několik tříd stejného ročníku a stanovujete pro každou třídu maximální počet studentů a jejich třídního učitele. Protože ve vašem městě není tak velká budova, která by pojala všechny vaše třídy, jsou třídy umístěny na různých místech v různých městských čtvrtích.

Studenti nejen studují, ale také vykonávají zkoušky z mnoha náročných předmětů (asi třech) s různým výsledkem. Zkoušející jsou odborníci minimálně ve zkoušených předmětech, ale vůbec to nemusí být třídní učitelé.

Stáhněte a otevřete databázi

hom50.cz/RIDITEL.ACCDB

a sestavte v ní dotazy, které odpoví na závažné otázky, jako např.:

 

  1. Kolik ještě v každém ročníku zbývá volných míst? (Odp.: 1=37, 2=11, 3=28)
  2. Kolik ještě v každé třídě zbývá volných míst? (Odp.: 1A=37, 2A=11, 3A=17, 3B=8, 3C=3)
  3. Který třídní nezkouší? (Odp.: Aldorf, Majer, Zelený)
  4. Ve které městské čtvrti mají studenti nejlepší průměr z matematiky? (Odp.: Dubina)
  5. Ve které městské čtvrti je třída, jejíž studenti mají nejlepší průměr z matematiky? (Odp.: Zábřeh)
  6. Ve kterém ročníku je víc žen než mužů? (Odp.: 1=2Ž/1M, 2=3Ž/1M)

Nakupovatel

Jste fanda do nakupování, který v republice prošmejdí kdejaký obchod (asi 5) a koupí kdejaký druh (asi 3) zboží. Zároveň jste ale pečlivý systematik, který nejen své nákupy (asi 15) z účtenek vzorně eviduje, ale také nákupy plánuje. Musí tedy počítat s tím, že obchody s prodejní plochou nad 200 m2 mají podle zákona o svátcích zavřeno. Jako zkušený nakupovatel už máte prodejní plochy vámi navštěvovaných obchodů zmáknuté.

Stáhněte a otevřete databázi

hom50.cz/NAKUPOVATEL.ACCDB

a sestavte v ní dotazy, které odpoví na několik otázek:

 

  1. Kolik jsem celkem utratil v listopadu 2021 v obchodech, které mají o svátcích zavřeno?
  2. Kolik jsem utratil za ty druhy zboží, které mají 15 % DPH?
  3. Kolik jsem celkem v Praze utratil za ty druhy zboží, které mají 15 % DPH?
  4. Ve kterém městě jsem utratil nejméně?
  5. Který druh zboží jsem vůbec nekoupil?

 

 

 

 

Rev. 2 / 2023