Lekce 5 (7. října 2021)

Databáze

Příklady co kreslím obvykle na tabuli

Příklad tabulky z geekgirls.com

Jednoduché schéma je na database.guide

Klíče

Další poznámky

Jazyk SQL

Příkaz SELECT

SELECT sloupce FROM tabulky WHERE podmínka
SELECT
    trida.jmeno trida,
    student.jmeno jmeno,
    student.prijmeni prijmeni
FROM
    trida
    JOIN student
        ON (trida.id = student.trida)
WHERE
    student.prijmeni = "Novák"
SELECT
    trida.jmeno trida,
    COUNT(student.id) pocet
FROM
    trida
    JOIN student
        ON (trida.id = student.trida)
GROUP BY
    trida.id

Příklady

Základní data jsou k dispozici ke stažení:

Kraje a města (demonstrace):

  1. Seznam všech měst
  2. Seznam všech krajů
  3. Seznam měst (jen názvy)
  4. Seznam malých měst
  5. Města ve středních Čechách
  6. Města a kraje (takto ne!)
  7. Města a kraje
  8. Součet obyvatelů ve městech
  9. Součet obyvatelů v kraji
  10. Součet obyvatelů ve městech
  11. Počet měst
  12. Počet obyvatel v daném kraji po městech
  13. Počty obyvatelů v krajích (takto ne!)
  14. Počty obyvatelů v krajích
  15. Počty obyvatelů v městech po krajích (takto ne!)
  16. Počty obyvatelů v městech po krajích

Kniha jízd (samostatně) (řidiči, vozidla a jízdy):

  1. Zjistěte příjmení řidičů.
  2. Vypište seznam dodávek.
  3. Vypište datum jízdy a SPZ vozidla a vzdálenost.
  4. K předchozímu přidejte jméno řidiče.
  5. Vypište pouze jízdy (bod 4) delší než 100km.
  6. Kolik je v databázi řidičů?
  7. Kolik jízd bylo v února 2013?

Další úlohy jako bodovaná práce.

Příkaz CREATE TABLE

CREATE TABLE jmeno ( definice sloupců )
CREATE TABLE vozidlo (
    `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
    `spz` TEXT NOT NULL,
    `typ` TEXT NOT NULL,
    `nosnost` INTEGER NOT NULL
);

Příkaz INSERT

INSERT INTO tabulka ( sloupce ) VALUES ( hodnoty )
INSERT INTO vozidlo
    ( id, nosnost, spz, typ )
    VALUES ( 5, 5000, "1A9 89-45", "dodávka" )

Příkaz UPDATE

UPDATE tabulka SET hodnoty WHERE podmínka
UPDATE vozidlo SET spz="1A8 89-45" WHERE id = 5

Příkaz DELETE

DELETE FROM tabulka WHERE podmínka
DELETE FROM vozidlo WHERE id = 5

„Servisní“ dotazy

Licence Creative Commons
Alej.alisma.cz, jejímž autorem je Vojtěch Horký, podléhá licenci
Creative Commons Uveďte autora-Zachovejte licenci 4.0 International.