První zadání

Mějme tabulky (primární klíč označen podrtženě, cizí klíč kurzívou) ZÁKÁZNÍK (id-z, jméno, kredit), SPOJ (kod, dopravce, start, cíl), JÍZDENKA(id-j, kod, id-z, datum, odkud, kam, cena)

všechny atributy jsou NOT NULL, význam a typy některých atributů: kredit - kredit, za který si zákazník může kupovat jízdenky (int); start, cíl - odkud kam jezdí daný spoj (varchar); odkud, kam - odkud kam jel daný zákazník na danou jízdenku (varchar);

Zapište v SQL dotazy

  1. Vypište všechny zákazníky s nenulovým kreditem
  2. Vypište zákazníky, kteří jeli spojem v celé jeho trase
  3. Vypište počet cestujících, kteří jeli včera s Regiojetem z Brna do Prahy
  4. Vypište jména zákazníku, kteří nikdy nejeli do Ostravy.
  5. Vypište kódy spojů do Telče s počty cestujících, v nichž jelo včera víc než 40 lidí,
  6. Přidejte k tabulce Spoj nový datumový sloupce Jezdí-od, který bude NOT NULL. Nezapomeňte reflektovat možný konflikt v případě, že tabulka již obsahuje nějaké data
  7. Odstraňte ze sloupce dopravce v tabulce Spoj integritní omezení NOT NULL

Druhé zadání

Mějme tabulky (primární klíč označen podrtženě, cizí klíč kurzívou) KLIENT (id-klient, jméno-klient, kredit), KURS (název-kurs, popis, trvání), LEKTOR(id-lektor, jméno-lektor, kvalifikace), TRÉNINK(id-trénink, id-lektor, název-kurs, datum,čas), ÚČAST(id-trénink ,id-klient, cena).

Zapište v SQL dotazy

  1. Vypište všechny klienty, jejichž jméno končí na "ová".
  2. Vypište tréninky (pouze atributy tréninků), které odcvičili včera lektoři s kvalifikací "Fyzioterapeut".
  3. Vypište celkovou cenu tréninků jógy tento týden.
  4. Vypište názvy kursů a pro každý z nich celkový počet v minulosti odcvičených tréninků a jejich celkovou cenu, seřaďte sestupně podle počtu tréninků.
  5. Vypište id a jména lektorů spolu s počtem odcvičených klientů (různých: každý klient se zde počítá jen jednou), kteří mají tento počet vyšší než 50.
  6. Vypište jména klientů, kteří se zůčastnili všech tréninků krav-magy, které se kdy konaly.
  7. Vypište všechny kursy, trvající méně než dvě hodiny
  8. Vypište jména a kredit klientů, kteří v minulém týdnu cvičil s lektorkou Janou
  9. Přidejte k tabulce Klient nový textový sloupec Bydliště, který bude NOT NULL. Nezapomeňte reflektovat možný konflikt v případě, že tabulka již obsahuje nějaká data.
  10. Vypište id a jména klientů a pro každého z nich celkový počet absolvovaných tréniků a jejich celkovou cenu, seřaďte sestupně podle počtu tréninků. Správně ošetřete případy klientů, kteří zatím neabsolvovali žádný trénink.
  11. Vypište jména lektorů spolu s počtem odcvičených klientů (různých: každý klient se zde počítá jen jednou) v kursu "krav maga", kteří mají tento počet vyšší než 100.
  12. Zvyšte ceny tréninků s id=11 o 20%.

Třetí zadání

Mějme následující tabulky pro evidenci studentů, předmětů a jejich přihlášek (primární klíče označeny podtržením, cizí klíče kurzívou):

STUDENT (id_student, jméno, příjmení, rok_narození) PŘEDMĚT (id_předmět, název, kredity) PŘIHLÁŠKA (id_student, id_předmět, datum_přihlášení)

Vytvořte SQL dotazy pro následující úkoly:

  1. Vypište všechny studenty z tabulky "STUDENT".
  2. Vypište názvy všech předmětů.
  3. Vypište jména a příjmení studentů, kteří jsou přihlášeni k předmětu s názvem "Matematika".
  4. Vypište počet přihlášek na každý předmět.
  5. Vypište studenty, kteří jsou přihlášeni alespoň ke třem předmětům.
  6. Vypište předměty, které mají více než 5 kreditů.
  7. Vypište studenty, kteří se přihlásili k předmětu alespoň před rokem 2020.

Čtvrté zadání

Mějme následující tabulky pro evidenci zaměstnanců, oddělení, projektů a jejich propojení (primární klíče označeny podtržením, cizí klíče kurzívou):

ZAMĚSTNANCI (id_zaměstnanec, jméno, příjmení, pozice) ODDĚLENÍ (id_oddělení, název, vedoucí_oddělení) PROJEKTY (id_projekt, název, popis) PROPIS (id_zaměstnanec, id_oddělení, id_projekt, datum_nástupu)

Vytvořte SQL dotazy pro následující úkoly:

  1. Vypište všechny zaměstnance z tabulky "ZAMĚSTNANCI".
  2. Vypište názvy všech oddělení.
  3. Vypište názvy všech projektů.
  4. Vypište zaměstnance, kteří jsou vedoucími oddělení.
  5. Vypište zaměstnance, kteří pracují na projektu s názvem "Nový produkt".
  6. Vypište počet zaměstnanců v každém oddělení.
  7. Vypište názvy projektů, na kterých pracuje alespoň 3 zaměstnanci.

Páté zadání

Mějme následující tabulky pro evidenci filmů, herců, žánrů, režisérů, ocenění a jejich propojení (primární klíče označeny podtržením, cizí klíče kurzívou):

FILMY (id_film, název, rok, id_režisér, idžánr_)
HEREC (id_herec, jméno, příjmení)
ŽÁNR (idžánr_, název)
REŽISÉR (id_režisér, jméno, příjmení)
OCENĚNÍ (id_ocenění, název, rok)
HEREC*FILM (***id_herec**, **id_film**)
FILM_OCENĚNÍ (**
id_film**, **id_ocenění
_**)

Vytvořte SQL dotazy pro následující úkoly:

  1. Vypište všechny filmy z tabulky "FILMY".
  2. Vypište jména všech herců.
  3. Vypište názvy všech žánrů.
  4. Vypište jména všech režisérů.
  5. Vypište filmy, ve kterých hrál herec s jménem "Tom" a příjmením "Hanks".
  6. Aktualizujte rok filmu s názvem "Titanic" na 1997.
  7. Vytvořte nový záznam v tabulce "OCENĚNÍ" pro film s názvem "Pulp Fiction" a rokem 1994.
  8. Smažte záznam z tabulky "HEREC_FILM", který propojuje herce s ID 3 a film s ID 7.
  9. Vypište filmy, které získaly ocenění v roce 2020.
  10. Vypište počet ocenění, které získal film s názvem "Titanic".