Prostorové databáze - cvičení

From Wikivyuka
Revision as of 14:17, 1 August 2014 by Dur30 (talk | contribs) (Cvičení 3 - SQL I.)

Jump to: navigation, search

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:

  1. Písemný test - 9 bodů - v průběhu semestru
  2. 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

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.

Agregační funkce představují možnost sloučit záznamy či hodnoty do skupin a nad nimi provézt aritmetickou či statistickou operaci. Výsledkem jsou například počty záznamů (COUNT), součet hodnot (SUM), maximální hodnota (MAX) ze sady numerických hodnot apod. Seznam a význam agregačních funkcí:

COUNT(*) navrací počet počet řádků ve výsledku dotazu
COUNT(DISTINCT)  počet jedinečných výskytů hodnot 
SUM()            součet numerických hodnot ze zadaného sloupce/pole hodnot
AVG()            aritmetický průměr z numerických platných hodnot 
MIN()            minimální hodnotu z numerických platných hodnot 
MAX()            maximální hodnota z numerických platných hodnot
STD()            směrodatnou odchylku
GROUP BY sloučí záznamy se stejnými hodnotami určeného atributu a vytvoří souhrnnou hodnotu

Chceme-li zjistit počet všech zaměstnanců, použijeme operaci COUNT:

SELECT COUNT(*) FROM employees;

Chceme-li zjistit kolik zaměstnanců dostává provizi, použijeme operaci COUNT s názvem sloupce:

SELECT COUNT(commission_pct) FROM employees;

Počet je jiný, protože ve sloupci commission_pct jsou i hodnoty NULL, které funkce nezapočítává.

Jaký je nejvyšší plat v oddělení 80? SELECT MAX(salary) FROM employees WHERE DEPARTMENT_ID=80;

Agregační funkce nelze použít v podmínce za WHERE, ale je možné je použít při seskupování za klauzulí GROUP BY. Chceme-li zjistit minimální platy v každém oddělení, seskupíme palty podle oddělení a v každé skupině je pak zjištěno minimum:

SELECT MIN(salary), department_id FROM employees GROUP BY department_id;
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.

Tvorba a ukládání v ORACLE definovaných geometrií

Cvičení 5 - Prostorové dotazy

Cvičení 6 - Import dat s prostorovým kontextem

Cvičení 7 - Vizualizace dat s prostorovým kontextem

Cvičení 8 -

Cvičení 9 -

Cvičení 10 - 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.