Databáze v geoinformatice IV.
Mgr. Michal Jakl
ZS 2025
Obsah lekce
Praktické cvičení:
Procvičení SQL a výběr témat SP
1. SQL – transakce
1. SQL – řízení přístupu
1. SQL – AS (alias)
🧠 Co to je:
AS (alias) slouží k dočasnému přejmenování tabulky, sloupce nebo celé výsledné relace.
Alias:
1. SQL – AS (alias)
1. SQL – JOIN (spojení)
JOIN spojuje řádky z více tabulek na základě společného klíče. Každý řádek z první tabulky se porovnává s řádky druhé tabulky, a pokud splní podmínku, vznikne nový kombinovaný řádek.
✅ Výhody JOINů
1. SQL – JOIN - jak provést spojení
SELECT p.id_pacienta, p.jmeno, p.prijmeni, v.datum_vysetreni, v.hmotnost FROM pacienti p JOIN vysetreni v ON p.id_pacienta = v.id_pacienta
Sloupce je nutné identifikovat plným jménem, které se skládá z názvu tabulky a názvu samotného sloupce, který oddělíme tečkou.
Místo plného názvu tabulek můžeme definovat zkrácené pojmenování v části FROM, zkratku zapíšeme přímo za název tabulky. Zkratku tabulky pak používáme ve všech částech SQL dotazu.
1. SQL – TYPY JOIN
1. SQL – JOIN - rozdíl - příklad
1. SQL – JOIN - rozdíl - příklad
1. SQL – JOIN - rozdíl - příklad
1. SQL – JOIN - rozdíl - příklad
1. SQL – VIEW (pohledy)
VIEW je pojmenovaný SQL dotaz, který se tváří jako tabulka. Umožňuje uložit složitý SELECT pod jménem a znovu ho používat. Data se většinou neukládají fyzicky, ale generují se při každém dotazu.
🧩 Výhody
1. SQL – WITH
WITH vytváří pojmenovanou dočasnou tabulku, kterou lze použít v rámci jednoho SQL dotazu.Chová se jako dočasný pohled (view) – po vykonání dotazu zaniká.
🎯 K čemu se hodí
1. SQL – RETURNING
Klauzule RETURNING říká databázi: „Po INSERT, UPDATE nebo DELETE mi vrať konkrétní data, která byla ovlivněna.“ Používá se pro okamžité získání ID, potvrzení změn nebo archivaci bez nutnosti dělat další SELECT.
2. SQLite
Je důležité si promyslet na co a kde budete databázi používat. Nějaká velká aplikace, nebo důraz na bezpečnost, SQLite není pro vás. Prototypujete? Děláte nějakou střední nebo menší webovou stránku? Vyvíjíte aplikaci třeba chytrý telefon, nebo nějaké udělátko? S SQLite byste neměli narazit na žádný problém.
2. SQLite – DB Browser for SQLite
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Vytvoří tabulku pacientů, kde budou shromažďovány údaje o jejich unikátním ID, pohlaví a datu narození dle uvedených datových typů.
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Vloží do tabulky o pacientech záznam pacientky narozené 2. 4. 1940.
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Prémii ve výši 20% platu dostali všichni zaměstnanci s uvedením „ano“ ve sloupci odměny.
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Návštěva pacienta s RČ 7707073345, kterou měl absolvovat dne 4. 4. 2006, bude zrušena.
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Vrátí počty pacientů dle jednotlivých pohlaví.
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Hledáme studenty, jejichž datum narození se rovná nejmenšímu (nejstaršímu) datu v tabulce. Výsledkem jsou tedy nejstarší studenti.
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Seznam objednávek na hodiny 7.00 a 8.00 v týdnu od 20.4.2006 do 24.4.2006
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Vrátí průměrný, minimální a maximální plat zaměstnanců - profesorů
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Vrátí průměrný, maximální a minimální plat zaměstnanců podle funkcí.
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Najde katedry, kde je průměrný plat asistenta větší, než 5000.
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Cvičení – procvičení interpretace SQL
Přeložte „do lidské řeči“ následující SQL skript = vysvětlete svými slovy, jaký úkon/úkony SŘBD při jeho interpretování provede:
Vypíše seznam pacientů a jejich adresy z pojišťoven, u kterých má lékař více než 10 pacientů, setříděný podle pojišťoven.
Cvičení – normálové formy
Jak upravíte následující tabulku, aby splňovala 1. NF?
Relace je v nulté normální formě, existuje-li takové její pole, které obsahuje více než jednu hodnotu. Není-li relace v nulté normální formě, je alespoň v první normální formě.
Zdroj: http://programujte.com/clanek/2008071900-normalizace-relacnich-databazi/
Cvičení – normálové formy
Jak upravíte následující tabulku, aby splňovala 1. NF?
Relace je v nulté normální formě, existuje-li takové její pole, které obsahuje více než jednu hodnotu. Není-li relace v nulté normální formě, je alespoň v první normální formě.
Zdroj: http://programujte.com/clanek/2008071900-normalizace-relacnich-databazi/
Cvičení – normálové formy
Jak upravíte následující tabulku, aby splňovala 2. NF?
Zdroj: http://programujte.com/clanek/2008071900-normalizace-relacnich-databazi/
Cvičení – normálové formy
Jak upravíte následující tabulku, aby splňovala 2. NF?
Zdroj: http://programujte.com/clanek/2008071900-normalizace-relacnich-databazi/
Cvičení – normálové formy
Jak upravíte následující tabulku, aby splňovala 3. NF?
Zdroj: http://programujte.com/clanek/2008071900-normalizace-relacnich-databazi/
Cvičení – normálové formy
Jak upravíte následující tabulku, aby splňovala 3. NF?
Zdroj: http://programujte.com/clanek/2008071900-normalizace-relacnich-databazi/
Praktické cvičení
Návrhy vhodných témat pro semestrální práci:
Na doma
Vytvořte skripty pro splnění následujících příkladů (odevzdejte do Moodle!):
Děkuji za pozornost a těším se příště!��Prostor pro zpětnou vazbu
mail@mjakl.cz
Tel. 608 544 839
Web: mjakl.cz