1 of 38

Databáze v geoinformatice I.

Mgr. Michal Jakl

ZS 2025

1. 10. 2025

2 of 38

Obsah lekce

  1. Představení předmětu
  2. Představení vyučujícího
  3. Představení studentů
  4. Databáze obecně
  5. Historie vývoje databází
  6. Filozofie databází
  7. Architektury
  8. Základní pojmy

Praktické cvičení: Zprovoznění softwaru pro práci na cvičeních

3 of 38

1. Představení předmětu

  • Databáze v geoinformatice
  • Prezenční/distanční forma
  • ZS 2025, čtvrtky v čase 16:00 až (+/-) 19:00
  • Konzultace dle potřeby individuálně
  • Dokumentace -> https://mjakl.cz + Moodle
  • Zápočet + zkouška -> 5 kreditů

„Mám nadrceno!“ vs. „Umím (o tom) přemýšlet“

4 of 38

1. Cíle a obsah

    • Filozofie, teorie a historie databází
    • Dotazovací jazyk SQL
    • Prostorové databáze (postgreSQL)
    • Využití databází v GIS aplikacích (ESRI, QGIS, web, mobil…)
    • Praktické využití a příklady - motivace

5 of 38

1. Podmínky pro absolvování předmětu

  • Pro získání zápočtu:
      • Splnění VŠECH průběžných úkolů navázaných na jednotlivé lekce
      • Úspěšné obhájení semestrální práce

  • Pro získání zkoušky
    • Získání zápočtu
    • Úspěšné absolvování závěrečného testu

6 of 38

1. Pravidla pro semestrální práci

  • Termín odevzdání včetně případných vracení a oprav je nejpozději konec tohoto kalendářního roku!
  • Semestrální práce bude návrhem databáze zajišťující obsluhu systému dle zaměření, které si student zvolí (např. systém pro známkování studentů, jednoduchá GIS aplikace, systém pro přepravní společnost apod.). Bude kladen důraz na maximální implementaci probíraných funkcí a dovedností a na práci s prostorovou složkou dat.
  • Odevzdání bude probíhat pomocí ZIP archivu, který bude obsahovat:
    • Jednotlivé SQL skripty pro vytvoření a obsluhu databáze („API“)
    • Textový popis „filozofie“ návrhu a technického provedení práce
    • Návod pro případného uživatele systému
    • Příklady praktických výstupů a využití
  • Práce bude na poslední lekci dne 8. 1. 2026 osobně odprezentována

7 of 38

1. Závěrečný písemný test

  • Bude obsahovat nejrůznější otázky, které budou průřezem probíraných témat (výběr bude učiněn striktně dle obsahu zveřejněných prezentací či dalších studijních materiálů)
  • První možnost splnění bude v předtermínu na poslední hodině výuky (a obhajov sem. prací), následně budou ve zkouškovém období vypsány tři termíny
  • Všechny otázky je možné předem zkoušet v generátoru testových zadání na webu https://mjakl.cz

8 of 38

2. Představení vyučujícího

pozitivniusti.cz

mjakl.cz

povestialegendy.cz

9 of 38

3. Představení studentů

10 of 38

4. Databáze obecně

Neorganizovaná data

Organizovaná data

„Kolik mám triček?“

„Který talíř je nejšpinavější?“

„Mám ještě v šuplíku dost místa?“

„Mám patery hnědé kalhoty, nebo jich mám méně?“

„Kde jsou moje ponožky?“

„Kolik děr má moje nejstarší košile?“

11 of 38

4. Co je to databáze?

  • Databázi si můžete nejsnáze představit jako papírovou kartotéku známou z lékařských ordinací.

  • Databáze obsahuje data (informace o pacientech) uložená na paměťovém médiu (papíry). Tato data mezi sebou mají určité vztahy (např. u jednoho pacienta chronologicky navazují) a jsou určitým způsobem členěna (desky jednotlivých pacientů, šuplíky podle příjmení).

  • V širším pojetí spadají do pojmu databáze i nástroje, které s daty pracují (ukládají je, mění je a mažou je) – v uvedeném případě je tedy součástí databáze i sestřička.

12 of 38

4. Co je to databáze?

Databáze je organizovaný soubor strukturovaných informací neboli dat, které se obvykle ukládají v elektronické podobě v počítačovém systému. Databáze je obvykle řízena systémem pro správu databáze (DBMS – database management system). Data a systém DBMS společně s přidruženými aplikacemi se označují jako databázový systém, často zkráceně jako databáze.

Data v nejběžnějších typech současných databází jsou obvykle modelována jako řada tabulek složených z řádků a sloupců, což umožňuje efektivní zpracování a vytváření dotazů. Je tak zajištěn snadný přístup k datům, správa, úpravy, aktualizace, řízení a organizace dat. Většina databází používá k zadávání dat a vytváření dotazů dotazovací jazyk SQL (structured query language).

Zdroj: https://www.oracle.com/cz/database/what-is-database/

Data + metadata + SŘBD

Databáze (neboli datová základna, též databanka) je systém souborů s pevnou strukturou záznamů. Tyto soubory jsou mezi sebou navzájem propojeny pomocí klíčů. V širším smyslu jsou součástí databáze i softwarové prostředky, které umožňují manipulaci s uloženými daty a přístup k nim. Tento software se v české odborné literatuře nazývá systém řízení báze dat (SŘBD). Běžně se označením databáze – v závislosti na kontextu – myslí jak uložená data, tak i software (SŘBD).

Zdroj: https://cs.wikipedia.org/wiki/Datab%C3%A1ze

13 of 38

4. Databáze vs. soubor

Data by samozřejmě bylo možné uložit i přímo do souborů na serveru, databáze však:

  • fungují mnohem rychleji
  • bývají optimalizovány pro přístup více uživatelů (návštěvníků stránek)
  • obsahují mechanismy, které práci s daty usnadňují

14 of 38

4. Databáze vs. tabulkový procesor

Databáze i tabulkové procesory (například Microsoft Excel) představují pohodlný způsob ukládání informací. Hlavní rozdíly mezi nimi jsou:

    • Jakým způsobem jsou data uložena a jak probíhá manipulace s nimi
    • Kdo má k datům přístup
    • Jaké množství dat lze ukládat

Tabulkové procesory byly původně určeny pro jednoho uživatele a jejich charakteristika tomu odpovídá. Jsou vynikající pro samostatnou práci nebo malý počet uživatelů, kteří nepotřebují provádět množství komplikovaných manipulací s daty. Na druhou stranu databáze jsou určeny k tomu, aby uchovávaly mnohem větší soubor organizovaných informací, někdy v masivním objemu. Databáze umožňují více uživatelům současně rychlý a bezpečný přístup k datům a zadávání dotazů s využitím velmi komplexní logiky a jazyka.

Zdroj: https://www.oracle.com/cz/database/what-is-database/

15 of 38

4. Databázová integrita

  • Databázová integrita je takový stav, při němž záznamy v celé databázi vyhovují soustavě určitých definovaných pravidel. Tato pravidla obvykle odpovídají vybraným pravidlům z té části světa, pro kterou databáze slouží.
    • Může se jednat například o pravidla stanovující rozsah uložených hodnot, jejich typ nebo vazby mezi nimi.
    • Integritní omezení se mohou týkat jednotlivých hodnot vkládaných do polí databáze (například známka z předmětu musí být v rozsahu 1 až 5), či může jít o podmínku na kombinaci hodnot v některých polích jednoho záznamu (například datum narození nesmí být pozdější než datum úmrtí).
    • Integritní omezení se může týkat i celé množiny záznamů daného typu – může jít o požadavek na unikátnost hodnot daného pole či kombinace polí v rámci celé množiny záznamů daného typu, které se v databázi vyskytují (například číslo průkazu v záznamech o osobách).

  • Velmi často používaným integritním omezením v relačních databázích je tzv. referenční integrita.
    • Jedná se o požadavek, aby pro pole záznamu, jež má obsahovat odkaz na jiný záznam někde v databázi, takový odkazovaný záznam skutečně existoval, tedy aby takový odkaz nevedl „do prázdna“ a nejednalo se o tzv. databázového sirotka.

16 of 38

4. Kdy ukládat do databáze

Výhody:

  • Úlohy vyžadující mnoho manuálních kroků
  • Kontrola referenční integrity (“hlídání vstupů”)
  • Spolupráce více uživatelů
  • Transakce (změna provedena celá nebo vůbec)

Nevýhody:

  • Cena implementace
  • Kompatibilita s GIS programy
  • Rychlost přístupu (centrální vs. lokální DB)
  • Datové struktury
  • Uživatelské znalosti / požadavky

17 of 38

5. Historie vývoje databází

  • Předchůdcem databází byly papírové kartotéky. Umožňovaly uspořádávání dat podle různých kritérií a zatřiďování nových položek. Veškeré operace s nimi prováděl přímo člověk. Správa takových kartoték byla v mnohém podobná správě dnešních databází.

  • První databázové zpracování r. 1890 při sčítání lidu ve Spojených státech - Herman Hollerith
  • Zkrácení zpracování pomocí děrných štítků ze sedmi let na pouhých šest týdnů
  • Děrné štítky ne pro program, ale pro data
  • Jeden z praotců společnosti IBM

Herman Hollerith (1891):

"Nikdo vám to už nespočítá rychleji!"

18 of 38

5. Historie vývoje databází

  • Databáze od svého vzniku na počátku 60. let zaznamenaly dramatický vývoj.
  • Souborový datový model 1951
  • Hierarchický datový model 1953
  • Síťový datový model 1971
    • Prvními systémy, které se používaly k ukládání dat a manipulaci s nimi, byly navigační databáze, jako je hierarchická databáze (která se opírala o stromový model a umožňovala pouze vztahy typu one-to-many – „jeden k více“) a síťová databáze (pružnější model, který umožňoval různé vztahy). Tyto první systémy byly jednoduché, ale nepružné.
  • Relační datový model 1969
  • Kolem roku 1974 se vyvíjí první verze dotazovacího jazyka SQL
  • V 80. letech získaly popularitu relační databáze a v 90. letech následovaly objektově orientované databáze.
  • V poslední době vznikly databáze NoSQL jako reakce na růst internetu a potřebu vyšší rychlosti a zpracování nestrukturovaných dat. Pokud se jedná o to, jakým způsobem probíhá shromažďování, ukládání, správa a využívání dat, stávají se dnes základem cloudové databáze a autonomně řízené databáze.

Zdroj: https://www.oracle.com/cz/database/what-is-database/

Thomas Watson (IBM), 1943:

"Nemyslím si, že by na celosvětovém trhu byla poptávka po více než pěti počítačích."

19 of 38

6. Proč se zajímat o databáze?

  • Počítače již dávno pouze nepočítají
  • 95 procent aplikací je databázových
  • Objem zpracovávaných dat se každý rok nejméně zdvojnásobuje
  • Nejcennější jsou data
  • Databázový trh je velmi lukrativní
  • Přímá hodnota trhu přes 13 miliard USD
  • Hodnota trhu několik desítek miliard USD
  • Stabilní zájem a rostoucí poptávka

20 of 38

6. Systém řízení databáze (SŘBD)

  • Databáze obvykle vyžaduje komplexní databázový softwarový program označovaný jako systém pro správu databáze (DBMS)
  • DBMS slouží jako rozhraní mezi databází a jejími koncovými uživateli nebo programy.
  • Umožňuje uživatelům získávat, aktualizovat a spravovat databázi a určovat, jakým způsobem jsou v ní uložené informace organizovány a optimalizovány.
  • Systém DBMS také usnadňuje přehled o databázích a jejich řízení, což umožňuje řadu správcovských činností, například monitorování výkonu, ladění a operace zálohování a obnovení.
  • Jako příklad oblíbeného databázového softwaru neboli DBMS lze uvést MySQL, Microsoft Access, Microsoft SQL Server, FileMaker Pro, Oracle Database a dBASE.

21 of 38

6. Databázový systém

Databázový systém je program, který se specializuje na efektivní ukládání, modifikaci a výběru velkého množství dat. Je prostředníkem mezi aplikační vrstvou a uloženými daty. První databázové systémy se objevily na začátku 60. let minulého století. Tento systém je tvořeny ze dvou důležitých komponent, a to:

• Databáze

• Systém řízení báze dat (DBMS podle anglického database management system)

Co by databázový systém měl umět?

Protože databázový systém musí dennodenně pracovat s opravdu početným skupenstvím perzistentních dat, tak na něj jsou kladeny jisté nároky, které by měl pro práci s daty snadno zvládat. Jako např.:

• podpora pro definice datového modelu (např. relační nebo logický)

• využití některého z jazyků (SQL, QBE atd.) vyšší úrovně pro manipulaci dat

• správu transakcí

• autentizaci uživatelů a autorizaci operací nad datami

• robustnost a zotavitelnost po chybách bez ztráty dat

22 of 38

6. Volba databáze

  • Výběr musí vycházet z požadavků
    • Přesné stanovení požadavků
    • Otázka přenositelnosti na jiný OS/HW
    • Otázka přenositelnosti na jinou db
    • Databáze je prostředkem, nikoli cílem
    • Vývojová vs. provozní
  • Vnitřní požadavky
  • Vnější požadavky
  • Okamžité požadavky (např. pořizovací cena)
  • Dlouhodobé požadavky (např. náklady na provoz a údržbu)
  • Nezbytné jsou kompromisy

23 of 38

6. Licencování databází

  • Licence na procesor
  • Licence na konkurenčního uživatele
  • Licence na pojmenovaného uživatele
  • Licence na daný čas
  • Licence podle účelu (vývojové)
  • Licence kombinované
  • Free opensource databáze

24 of 38

6. Komerční vs. opensource modely

  • Přes 170 platforem
  • Vývoj databázových platforem je neuvěřitelně nákladnou záležitostí
  • Nová databázová firma konkurující největším hráčům se neobjeví
  • Největší hráči:
    • IBM
    • Oracle
    • Sybase
    • Microsoft
    • Intersystems
    • Progress Software
    • PostGIS
  • Open source databázový systém je takový systém, jehož zdrojový kód je open source.
  • Na internetu se nejvíce používají relační databáze z rodiny SQL, která vznikla už v roce 1974. K nejznámějším databazím této rodiny patří MySQL, PostgreSQL či Oracle Database.

25 of 38

6. Nejlepší databázová platforma

Špatně položená otázka -> Vždy nás zajímá konkrétní nasazení

26 of 38

6. Trendy současného vývoje

  • Reakce na významné zvýšení objemu dat
    • Explozivní nárůst dat přicházejících ze senzorů, připojených počítačů a desítek dalších zdrojů udržuje správce databází v pohotovosti, aby dokázali efektivně spravovat a organizovat data svých podniků.
  • Zajištění bezpečnosti dat
    • Incidenty spojené s narušením dat bývají dnes všudypřítomné a hackeři jsou stále vynalézavější. Dnes je důležitější než kdykoliv jindy, aby byla zajištěna bezpečnost dat, ale musí být také snadno přístupná uživatelům.
  • Udržet krok s poptávkou
    • V dnešním rychle se rozvíjejícím podnikatelském prostředí potřebují podniky přístup ke svým datům v reálném čase, což umožňuje včasné rozhodování a využití nových příležitostí.
  • Správa a údržba databáze a infrastruktury
    • Správci databáze musí průběžně sledovat problémy databáze a provádět preventivní údržbu a také nasazovat softwarové aktualizace a opravy. Vzhledem k tomu, že databáze jsou stále složitější a narůstá objem dat, stojí podniky před problémem nárůstu nákladů a získávání odborníků, kteří by dokázali databáze monitorovat a vyladit k lepšímu výkonu.
  • Odstranění limitů škálovatelnosti
    • Pokud má podnik přežít, musí růst, stejně jako s ním musí růst správa podnikových dat. Pro správce databází je však velmi obtížné předvídat, jakou kapacitu bude společnost potřebovat, zejména u databází on-premises.

Zdroj: https://www.oracle.com/cz/database/what-is-database/

27 of 38

7. Architektury

  • Přístup k datům
    • Souborové architektury
    • Dvouvrstvé architektury
    • Třívrstvé architektury
    • Vícevrstvé architektury
    • Kombinace
  • Fyzické uložení dat
    • Tabulkové soubory 1:1
    • Tabulkové soubory 1:N
    • Datové soubory
    • Diskové oddíly
    • Kombinované
  • Přístupy
    • Pesimistické strategie
    • Optimistické strategie
    • Read/write strategie
    • Paralelní vs. konkurenční
    • Transakční zpracování
  • Výkon
  • Správa

28 of 38

7. Paralelní přístup

Pravidla paralelního přístupu:

  1. Současné vykonávání transakcí nesmí zapříčinit selhání programu.
  2. Další transakce nezačne dříve, než předchozí skončila.

  • Metoda řízení paralelismu při současném vykonávání transakcí nesmí vést k nižší průchodnosti systému oproti sériovému vykonávání transakcí.

Zdroj: https://cw.fel.cvut.cz/old/_media/courses/x33mis/transakce.pdf

29 of 38

7. Transakce

= Skupina příkazů, které převedou databázi z jednoho konzistentního stavu do druhého

  • Atomičnost
    • Databázová transakce je jako operace dále nedělitelná (atomární). Provede se buď jako celek, nebo se neprovede vůbec (a daný databázový systém to dá uživateli na vědomí, např. chybovým hlášením).
  • Konzistence
    • Transakce převádí databázi z jednoho konzistentního stavu na druhý. To znamená, že její účel je zajistit určité dynamické integritní omezení. Například nelze ukončit převod peněz z účtu na účet bez toho, aby jak operace odečtení ze zdrojového účtu tak operace připočtení na cílový účet byly obě provedeny.
  • Izolovanost
    • Operace uvnitř transakce jsou skryty před vnějšími operacemi. Vrácením transakce není zasažena jiná transakce, a když ano, i tato musí být vrácena. V důsledku tohoto chování může dojít k tzv. řetězovému vrácení.
  • Trvalost
    • Změny, které se provedou jako výsledek úspěšných transakcí, jsou skutečně uloženy v databázi, a již nemohou být ztraceny.
  • Přerušitelnost/nepřerušitelnost

30 of 38

7. vs.

  • U pesimistického zpracování se v jeho průběhu změny zaznamenávají do dočasných objektů. Teprve po přesunu či změně dat se odznačí příznak dočasnosti, a data se tak stanou platnými.
    • Tento způsob lze přirovnat k několika netriviálním změnám v souboru, které se do něj zanesou tak, že vlastní úprava souboru proběhne v souboru pod jiným, dočasným názvem, který se na samém začátku operace vytvoří duplikací (jakoby se odzálohuje), načež se tento soubor s dočasným jménem přejmenuje na trvalý (původní) název (tj. operace, jež v sobě sdružuje zánik původního obsahu a zánik souboru s dočasným názvem, a po níž je zůstane jen nový obsah pod původním názvem souboru).
  • U optimistického zpracování se (optimisticky) předpokládá, že při transakci nenastane chyba, a provedené změny nebude třeba vrátit zpět (přestože tato možnost se připouští). Měněné záznamy v tabulkách jsou při optimistickém zpracování transakce zapisovány „natvrdo“, současně s tím se však, coby seznam SQL příkazů, vytváří tzv. rollback log, na základě něhož je transakcí zastřešené změny možné vrátit zpět.
    • V případě, že při transakci dojde k nějaké nezotavitelné chybě, tento log se provede a transakce (aby dodržela pravidlo atomicity) skončí ve výchozím stavu, načež se vyvolá chyba. V opačném případě, tedy když transakce proběhne bez výskytu nezotavitelné chyby, se na jejím konci rollback log stává bezpředmětným (typicky se maže).

Zdroj: https://cs.wikipedia.org/wiki/Datab%C3%A1zov%C3%A1_transakce

31 of 38

8. Filozofie databází – základní pojmy

  • Data vs. informace
  • Metadata
  • Databáze vs. databázový systém
  • Tabulka vs. sloupec
  • Back-end vs. front-end
  • Aplikační server vs. databázový server
  • Dotazovací jazyk
  • Transakce
  • Záloha vs. archivace
  • Výmaz vs. odstranění
  • Oprávnění
  • Role
  • Paralelní přístup vs. Konkurenční přístup
  • 24x7
  • Uložená procedura x trigger

32 of 38

Praktické cvičení

  1. Instalace PostgreSQL
  2. Instalace pgAdmin

  • (Instalace ArcGIS)
  • (Instalace QGIS)

33 of 38

Instalace PostgreSQL + pgAdmin

34 of 38

Instalace PostgreSQL + pgAdmin

35 of 38

JAK NA TO OD ROKU 2025?

  • V prohlížeči na vnitřní síti/na eduVPN síti zadej http://192.168.33.234:8080/

login je student@ujep.cz

heslo je student

36 of 38

ZALOŽENÍ PROSTORU PRO STUDENTA

37 of 38

Na doma

Založené vlastní databázové schéma ve sdílené PostgreSQL databázi!

38 of 38

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