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
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
Instalace image v prostředí Virtual PC, XE server, SQLDeveloper, 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
"Zprovoznění" 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
Dotazování nad více tabulkami
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
Cvičení 11 - Zpracování vlastního projektu
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.