SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí 3.ročník DATABÁZE, ATRIBUTY historie databáze modely databází relační databáze SQL dotazy atributy
Historie databází papírové kartotéky uspořádávání dat podle různých kritérií zatřiďování nových položek operace prováděl přímo člověk správa v mnoha ohledech podobná současným SŘBD (vytváření indexů, třídění, ) strojové zpracování dat sčítání lidu v USA (1890) paměťovým médiem děrný štítek elektromechanické zpracování používáno masově do poloviny 20. Století počítačové zpracování dat překotný vývoj IT od 50. let 20. století původně univerzální používání strojového kódu procesorů neefektivní požadavek na jazyk vyšší úrovně pro zpracování dat
Historie databází 50. léta souborově orientované systémy implementačně závislé na konkrétním účelu 1959: konference zástupců firem, uživatelů a amerického ministerstva obrany požadavek na univerzální databázový jazyk publikovaná první verze jazyka COBOL po mnoho dalších let nejrozšířenějším jazykem pro hromadné zpracování dat 1965: první síťové SŘBD - Systém řízení báze dat 1971: první implementace hierarchických SŘBD IMS (firma IBM, využití v programu Apollo) 70. léta teoretické studie relačních SŘBD (E.F. Codd) na data pohlíženo jako na tabulky
historické modely databází souborově orientované (již se moc nepoužívá) data uložena sekvenčně na paměťovém médiu (páska, děrný štítek,...) nutnost znát fyzický formát uložení dat složité prohledávání nemožnost vytváření vazeb mezi záznamy jednoduchost modelu na pochopení spousta času uživatelů padla na jak to udělat místo co udělat síťově orientované (již se moc nepoužívá) ukazatele mezi objekty v databázi jednoduché modelování vazeb 1:1, 1:N, N:M (např. autor x kniha) poměrně rychlé sekvenční vyhledávání u složitějších vztahu vysoká režie velká omezení v případě změn datové struktury nutnost pracných změn
historické a současné modely databází hierarchicky orientované skládá se z rodičů a potomků. Rodič je vždy jen jeden, ale může mít více potomků. vyznačují se velkou redundancí dat a obtížně se v nich vyhledává jediné snadné vyhledávací úlohy jsou ve vertikálním směru komplikovanost modelování vazeb N:M nutnost pracných změn v případě změny struktury relativně vhodné pro organizační nebo skladové aplikace relační modely v současnosti drtivě nejpoužívanější koncept podrobnosti dále objektově orientované modely dědičnost, komunikace formou zpráv na úrovni objektů modely pro zpracování nestrukturovaných dat vektorové modely zpracování rozsáhlých textových dat, deduktivní databáze, znalostní systémy
Relační databáze relace = vzájemný vztah v současnosti drtivě nejpoužívanější koncept 1969 F. E. Cobb přišel s konceptem databází založených na matematickém aparátu relačních množin a predikátové logiky schéma relace název, počet sloupců, názvy sloupců... v databázích relace = definice struktury tabulky relací je i výsledek dotazu, můžeme s ním dále pracovat (vnořené dotazy...) pokud jsou v různých tabulkách sloupce stejného typu, pak tyto sloupce mohou vytvářet vazby mezi jednotlivými tabulkami. tabulky se naplňují vlastním obsahem - konkrétními daty kolekce více tabulek, jejich funkčních vztahů, indexů a dalších součástí tvoří relační databázi propojení mezi tabulkami je dosaženo pomocí sdílených polí (tzv. pole ID) možné asociace 1:1 ; 1:n ; m:n
Relační databáze možné asociace relací 1:1 ; 1:n ; m:n 1:1 m:n 1:n
Relační databáze relační model přináší celou řadu výhod, zejména mnohdy přirozenou reprezentaci zpracovávaných dat, možnost snadného definování a zpracování vazeb apod... relační model klade velký důraz na zachování integrity dat pracuje nad daty ale primárně je nemění. Změny možné jed v rámci editace dat. zavádí pojmy referenční integrita, cizí klíč, primární klíč, normální tvar,... s relačními databázemi je úzce spojen pojem SQL (Structured Query Language), neboli strukturovaný dotazovací jazyk. Jeho základní model je obecně použitelný pro většinu relačních databází. Od svého vzniku prošel několika revizemi a poskytovatelé databázových produktů jej obohatili o různá lokální rozšíření. Tato rozšíření ale nejsou vzájemně kompatibilní
Relační databáze - ukázka
SQL Structured Query Language SQL - standardizovaný dotazovací jazyk používaný pro práci s daty v relačních databázích předchůdce jazyk SEQUEL (70. léta, IBM) 1986: první standard SQL-86 Příkazy pro manipulaci s daty příkazy pro získání dat z databáze a pro jejich úpravy. Označují se zkráceně DML Data Manipulation Language ( jazyk pro manipulaci s daty ). SELECT vybírá data z databáze, umožňuje výběr podmnožiny a řazení dat. INSERT vkládá do databáze nová data. UPDATE mění data v databázi (editace). DELETE odstraňuje data (záznamy) z databáze. EXPLAIN PLAN FOR, SHOW,... Příkazy pro definici dat Těmito příkazy se vytvářejí struktury databáze tabulky, indexy, pohledy a další objekty. Vytvořené struktury lze také upravovat, doplňovat a mazat. Tato skupina příkazů se nazývá zkráceně DDL Data Definition Language ( jazyk pro definici dat ). CREATE vytváření nových objektů. ALTER změny existujících objektů. DROP odstraňování objektů.
SQL Structured Query Language Příkazy pro řízení dat Do této skupiny patří příkazy pro nastavování přístupových práv a řízení transakcí. Označují se jako DCL Data Control Language ( jazyk pro ovládání dat ), někdy také TCC Transaction Control Commands ( jazyk pro ovládání transakcí ). GRANT příkaz pro přidělení oprávnění uživateli k určitým objektům. REVOKE příkaz pro odnětí práv uživateli. BEGIN zahájení transakce. COMMIT potvrzení transakce. ROLLBACK zrušení transakce, návrat do původního stavu. Ostatní příkazy Do této skupiny patří příkazy pro správu databáze. Pomocí nich lze přidávat uživatele, nastavovat systémové parametry (kódování znaků, způsob řazení, formáty data a času apod.). Tato skupina není standardizována a konkrétní syntaxe příkazů je zavislá na databázovém systému. V některých dialektech jazyka SQL jsou přidány i příkazy pro kontrolu běhu, takže lze tyto dialekty zařadit i mezi programovací jazyky. Výhody: nezávislé na databázi vysoce standardizované
Návrh databáze Využívané databáze souborová (MS Access, vlastní formáty ESRI apod.) serverová (MS SQL, Oracle, PostgreSQL, MySQL, ) rozšíření db o geografické informace (ArcSDE, PostGIS) Základní otázky bude přebírán model z jiného IS implementace do stávajícího řešení nebo zcela nový a nezávislý návrh jaká data budou používána rozsah, přesnost, podrobnost, struktura jak budou data používána a sdílena nastavení práv předpoklady pro rozšiřování stanovení zodpovědnosti za údržbu systému a dat Postup modelování uživatelského pohledu co, jak, pro koho, za kolik, v jakém čase definice typů objektů (entit) a jejich vzájemných vztahů jaké objekty budou v databázi a jak budou mezi sebou provázány specifikace atributů pro jednotlivé entity přizpůsobení dat pro konkrétní sw řešení organizace dat do logických celků vrstvy, mapové listy
využití relačních databází v GIS vyhledej kraj s nejmenším počtem sousedních krajů... vyhledej všechny nemocnice do 30 km od... zobraz všechny lesy ležící v ústeckém kraji... vyhledej všechna města nad 100 000 obyvatel v Jihočeském kraji... najdi co se nachází na vybraném bodě/ploše... vyhledej plochy splňující zadanou charakteristiku... jaký je počet charakteristik... jak se změní délka cesty, když zruším jeden uzlový bod...... K formulování atributových i prostorových dotazů se často používá standardizované SQL nebo jeho upravený dialekt např. v ArcGIS
ukázka využití relačních databází v GIS
ATRIBUTY Složky popisu geoprvku PROSTOROVÉ geometrická, která zaznamenává lokalizaci geoprvku v prostoru, popisuje přímo jeho geometrické vlastnosti a nepřímo prostorové vztahy s okolními objekty - tzv. topologii NEPROSTOROVÉ popisnou (někdy též označovanou jako tematickou) - zaznamenává negeometrické vlastnosti geoprvku, jeho tzv. atributy časovou - zaznamenává pozici geoprvku na časové ose, tedy dobu jeho existence při daném stavu geometrie a atributů vztahovou - popisuje jeho vztahy, do nichž geoprvek vstupuje s jinými geoprvky funkční - popisuje operace, které lze s daným geoprvkem provádět.
ATRIBUTY Atribut = Tematická složka popisu dat popisuje negeometrickou vlastnost entity (geoprvku) každý atribut je obecně tvořen dvojicí: Název jakou vlastnost popisuje (např. Počet obyvatel) Hodnota konkrétní případ (např. 10 521) pro každou vlastnost nejvýše jedna hodnota Identifikační vlastnost = vlastnost jejíž hodnota je pro daný geoprvek unikátní (klíčová hodnota)
ATRIBUTY Při tvorbě nového pole je nutné vždy zadat: název typ pole velikost pole počet desetinných míst (u čísla)
ATRIBUTY Typy atributových dat číslo číslo (integer = 12; float, real 3,14; poměr - např. procenta interval - např. celá čísla z intervalu (0,10), desetinná čísla z intervalu (0.5-14.0) pořadí - řadová číslovka výčet - např. pro typ silnice to může být (dálnice, rychlostní silnice, silnice 1.třídy, silnice 2.třídy, ostatní silnice) text logická hodnota datum čas obrazová informace
ATRIBUTY
ATRIBUTY Atributová tabulka v GIS
ATRIBUTY Manipulace s atributovými daty Editační funkce pomocí jazyka SQL, který je součástí vlastní databáze Funkce na výpočet nových atributů z existujících atributových hodnot Funkce umožňující propojení tabulek (join) přes jeden atribut společný pro obě tabulky D Analytické funkce atributů používají : matematické operace aritmetické, trigonometrické a exponenciální funkce logické operace operátory numerické i booleanovské algebry (ano/ne) statistické operace součet, maximum, minimum, průměr
ATRIBUTY Manipulace s atributovými daty Dotazy = odpovídají funkcím (využívá se jazyka SQL): vyhledávací dotaz na existující data selektivní (= výběrové) podle zadané vlastnosti podmiňovací dotaz co se stane, když modelovací funkce popis dynamiky jevů v krajině na základě teoretických modelů Příklady ArcGIS: Select by Attributes - vyhledej všechny silnice 3.třídy
DATABÁZE A ATRIBUTY Rekapitulace Databáze historické modely Relační databáze SQL dotazy Návrh databáze Atributové tabulky Manipulace s atributy
ArcČR 500 verze 3.3 (Arcdata Praha) Digitální geografická databáze ČR vztažné měřítko 1 : 500 000 ideální pro výuku ;-) vhodné k použití jako přehledka... Obsahem databáze jsou přehledné geografické informace o ČR. Data jsou rozdělena do tematických skupin: základní geografické (mapové) prvky a klady listů státních mapových děl, administrativní členění. ArcČR 500 vznikla ve spolupráci ARCDATA PRAHA, s.r.o. a Zeměměřického úřadu (ZÚ) a Českého statistického úřadu a jsou distribuována zdarma. Podkladem pro zpracování základních geografických informací v digitální formě jsou mapy a databáze, které byly poskytnuty Zeměměřickým úřadem: DATA 200. A dále data poskytnutá Českým statistickým úřadem (ČSÚ): polygony ZSJ (Základní sídelní jednotky), polygony ZSJ díly, číselníky administrativního členění, statistické údaje za jednotky administrativního členění.
ArcČR 500 verze 3.3 - Struktura geodatabáze Geografické prvky Letiště Sídla body, Výškové kóty Železniční stanice Hranice Silnice Vodní toky Vrstevnice Železnice Lesy Bažiny a rašeliniště Sídla - plochy Vodní plochy Chráněná území Klady základních map Klady topografických map Souřadnicová síť JTSK Zeměpisná síť v systému ETRS Zeměpisná síť v systému WGS Digitální model reliéfu Stínovaný reliéf Administrativní členění Základní sídelní jednotky Územně technické jednotky Katastrální území Městské obvody a městské části Části obce Obce a vojenské újezdy Obce s pověřeným obecním úřadem Obce s rozšířenou působností Okresy Kraje Stát https://www.arcdata.cz/produkty/geogra ficka-data/arccr-500