Prostorové databáze - cvičení
Contents
- 1 Obsah a cíle cvičení z předmětu Prostorové databáze
- 2 Požadavky na zápočet
- 3 Cvičení 1 - Instalace prostorové databáze a vizualizačního nástroje
- 4 Cvičení 2 - Přístupy k databázi, prostředí klienta
- 5 Cvičení 3 - SQL I.
- 6 Cvičení 4 - SQL II.
- 7 Cvičení 5 - Principy práce s prostorovými daty
- 8 Cvičení 6 - Tvorba a ukládání v ORACLE definovaných geometrií
- 9 Cvičení 7 - Vizualizace dat s prostorovým kontextem
- 10 Cvičení 8 - Práce s bodovými geoobjekty
- 11 Cvičení 9 - Prostorové dotazy
- 12 Cvičení 10 - Import dat s prostorovým kontextem
- 13 Cvičení 11 - Zpracování vlastního projektu
Obsah a cíle cvičení z předmětu Prostorové databáze
Data a jejich zpracování hrají významnou roli při práci geoinformatika. Cílem tohoto kurzu je předvést možnosti, které jsou k dispozici mimo "klasické" GIS prostředí.
Cvičení z předmětu Prostorové databáze je proto zaměřeno na získání zkušenosti se zpracováním prostorových dat v prostředí SŘBD. K pochopení principů využitých pro ukládání a manipulaci s prostorovou složkou dat, které jsou v databázích implementovány, slouží Oracle Locator. V něm je předvedena řada úloh s využitím SpatialSQL. Následně je požadováno využití při samostatně řešených úlohách, kde je nutno principy uplatnit buď provedením úprav dle typu dat nebo vhodným způsobem zakomponovat jinou kombinaci prostorových operátorů.
Důraz je kladen na semestrální projekt, ve kterém studenti získané dovednosti předvedou v tematicky zaměřené úloze.
Požadavky na zápočet
Zápočet (33 bodů) je rozdělen následujícím způsobem:
- Písemný test - 9 bodů - v průběhu semestru
- Semestrální projekt - úlohy s prostorovými operátory - 24 bodů
Zadání zápočtového projektu je uvedeno na stránce s popisem úkolů.
Cvičení 1 - Instalace prostorové databáze a vizualizačního nástroje
Nejprve si připravíme pracovní prostředí, které si stejným způsobem můžete nainstalovat i na svých počítačích. Dodržte uvedené pořadí při instalování produktů, jednotlivé kroky na sebe navazují.
- Instalace databázového prostředí
Spustíte Virtual PC a ze stránek společnosti Oracle zvolíte download databáze. V případě, že budete poprvé používat produkt Oracle, je nutno odsouhlasit licenční podmínky a zaregistrovat se jako nový uživatel jejich produktů. Dále budete postupovat podle pokynů instalátoru. Jako velmi důležité je zapamatovat nebo si někam zapsat heslo administrátora, které bude během instalace požadováno. Bez tohoto hesla nebude možnost zpřístupnit demo databázi a pracovat nad připravenými daty.
- Instalace SQLDeveloper
Společnost Oracle nabízí nejnovější verzi klientského prostředí pro přístup k databázovému serveru. V našem případě budeme potřebovat verzi trojkovou, ve které pak bude možno využít vizualiční nástroj GeoRaptor. Lze stáhnout ze stránek SQLDeveloper 3. Po rozbalení zip souboru bude stačit spustit .exe soubor a klientské prostředí bude k dispozici.
- Instalace GeoRaptor
Posledním produktem je nástroj pro vizualizaci a manipulaci s prostororovými daty. Tento nástroj je ve Free licenci a je k dispozici na adrese GeoRaptor. Postup instalace je popsán na stránce Instalace GeoRaptor.
Vymezení funkčnosti Oracle Locator lze nalézt buď pro verzi 10.2 nebo pro verzi 11.2 v příloze B v dokumentaci k Oracle Database.
Cvičení 2 - Přístupy k databázi, prostředí klienta
Pro práci s databází nejprve připojíme klientskou stranu k serveru. V prvním připojení změníme práva již definovaného uživatele "HR" a využijeme jej jako přístupový bod do databáze. Jak postupovat je popsáno v části Jak zprovoznit uživatele HR.
vyzkoušení přístupů k databázi - cmd, APEX, SQLDeveloper
Tutoriál SQLDeveloper
Tvorba tabulky
Příkazem jazyka DDL pro vytvoření nové tabulky je CREATE TABLE. V příkazu pojmenujeme tabulku (dle významu obashu dat, předchozí analýzy), její sloupce (atributy), ke kterým nadefinujeme datové typy.
Syntaxe příkazu CREATE TABLE:
CREATE TABLE [nazev_databaze.]nazev_tabulky (<nazev sloupce> <datovy typ> [DEFAULT <konstantni vyraz>] [NULL | NOT NULL] [<omezeni pro sloupec>] |[<omezeni pro tabulku>] [,...n] )
V [] jsou uvedeny nepovinné údaje - například [nazev_databaze.]. Za () je uvedena povinná část <nazev sloupce> <datovy typ> s možným opakováním až n-krát [,...n].
Datové typy
Kompletní popis datových typů je možno nalézt v dokumentaci Oracle.
Cvičení 3 - SQL I.
Dotazování nad jednou tabulkou
Použití příkazu SELECT nad jednou tabulkou je popsáno na stránce Dotazy nad jednou tabulkou.
Agregační funkce
Po zopakování základního použití příkazu SELECT jej rozšíříme o Agregační funkce.
Samostatný úkol
V prostředí SQLDevelopera sestavte dotazy, kterými si vyzkoušíte své znalosti. Zadání dotazů je uvedeno na Opakování SQL. Výsledky své práce ukažte pedagogovi.
Cvičení 4 - SQL II.
Dotazy nad více tabulkami
Dotazování nad více tabulkami je popsáno na stránce Dotazy nad více tabulkami.
Vnořené dotazy
Cvičení 5 - Principy práce s prostorovými daty
Definice SDO_GEOMETRY
Princip práce s prostorovými daty v prostředí SŘBD Oracle je postaven na objektovém datovém typu SDO_GEOMETRY. Jeho definice a význam struktury je popsán na stránce SDO_GEOMETRY.
Cvičení 6 - Tvorba a ukládání v ORACLE definovaných geometrií
Ukládání geometrií
Specifické kódy, které používá Spatial Oracle pro ukládání různých tvarů geometrií vyzkoušíme tvorbou tabulky jednoduchou strukturou a předpřipravenými ukázkami na stránce Ukázky geometrií. Pro vyjasnění kódů používaných v Spatial Oracle pro různé tvary geometrií použijeme příklad z dokumentace Oracle a prvky zobrazíme v prostředí Prohlížeče.
Samostatný úkol
V prostředí Oracle napište příkaz insert, který do vytvořené tabulky T1 vloží Vaše vlastní geometrie. Fantazii se meze nekladou. Výsledky své práce ukažte pedagogovi.
Cvičení 7 - Vizualizace dat s prostorovým kontextem
Cvičení 8 - Práce s bodovými geoobjekty
Zpracování bodových dat
Princip tvorby prostorových dat uživatelem, jejich uložení do databáze a další manipulace s nimi je na příkladu bodových dat popsáno na stránce Points.
Samostatný úkol
V prostředí Oracle napište
- příkaz insert, který do vytvořené tabulky STORES vloží Vaše vlastní souřadnice v souladu s použitým SS a další informace o obchodu.
- příkaz insert, který do vytvořené tabulky CUSTOMERS vloží Vámi vytvořené informace o dalších zákaznících včetně souřadnic v souladu s použitým SS.
- příkaz vyhledávající nejbližšího zákazníka a zobrazíte, jak velká je vzdálenost od obchodu 101,
- příkaz, kterým najdete KOLIK zákazníků je v dosahu 50 km.
Výsledky své práce ukažte pedagogovi.
Cvičení 9 - Prostorové dotazy
Použití prostorových operátorů
Pro analýzy nad prostorovými daty budeme používat možnosti, které nabízí rozšíření SQL o prostorové funkce a operátory. Prostorové operátory ve formě seznamu a jejich významu převzatý ze stránek Oracle nám poslouží jako vodítko pro další práci. Na příkladu "minikatastru" Parcely si předvedeme využití vybraných operátorů.
Samostatný úkol
V prostředí Oracle si vyzkoušejte následující:
- Proveďte kontrolu validnosti pomocí metody SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT (viz Ukázky geometrií). V případě chyby najděte význam chybové hlášky a pokuste se chybu opravit. Zdůvodněte případnou chybu a v datech ji nahraďte validními hodnotami.
- Příkaz insert, který do vytvořené tabulky PARCELA vloží parcelu ve tvaru obdélníka se souřadnicemi jednoho rohu
(0,0). Může mít tento úkol dvě různá řešení?
- Vložte do vytvořené tabulky PARCELA parcelu ve tvaru kruhu v souladu s již použitým SS.
- Příkaz insert, kterým vlastníkovi Janu Volnému přidělíte vlastnictví parcely s id=24. Zjistěte dále, zda na této parcele existuje nějaká stavba?
- Příkaz, kterým zjistíte všechny sousedy nové parcely pana Volného.
Výsledky své práce ukažte pedagogovi.
Cvičení 10 - Import dat s prostorovým kontextem
Často se stává, že potřebujeme importovat prostorová data mezi různými aplikacemi. V prostředí GeoRaptoru je připraven uživatelsky přívětivý způsob, jak formát shapefile naimportovat do prostředí Oracle. Postup je popsán na stránce Loading shapefiles into Oracle Spatial.
Cvičení 11 - Zpracování vlastního projektu
Semestrální projekt je koncipován jako samostatně navržený tématický případ, kdy nad prostorovými daty bude vypracováno několik úloh s prostorovými operátory. Možnost výběru zadání je specifikována na stránce s popisem úkolů.
Výuková podpora pro cvičení z předmětu Objektově orientované technologie vznikla za podpory projektu Inovace bakalářských a magisterských studijních oborů na Hornicko-geologické fakultě VŠB-TUO pod číslem CZ.1.07/2.2.00/28.0308. Tento projekt je realizován za spoluúčasti EU.