Difference between revisions of "Prostorové databáze - cvičení"
m (→Cvičení 3 - SQL I.) |
m (→Dotazování nad jednou tabulkou) |
||
Line 46: | Line 46: | ||
Použití příkazu SELECT nad jednou tabulkou je popsáno na stránce [[Dotazy nad jednou tabulkou]]. | Použití příkazu SELECT nad jednou tabulkou je popsáno na stránce [[Dotazy nad jednou tabulkou]]. | ||
− | + | Po zopakování základního použití příkazu SELECT jej rozšíříme o [[Agregační funkce]]. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=====Agregační funkce===== | =====Agregační funkce===== |
Revision as of 14:16, 1 August 2014
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í 5 - Prostorové dotazy
- 9 Cvičení 6 - Import dat s prostorovým kontextem
- 10 Cvičení 7 - Vizualizace dat s prostorovým kontextem
- 11 Cvičení 8 -
- 12 Cvičení 9 -
- 13 Cvičení 10 - 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
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.
Po zopakování základního použití příkazu SELECT jej rozšíříme o Agregační funkce.
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.