DATABÁZOVÉ SYSTÉMY V GIS Návody na cvičenia. Renata Ďuračiová, Dušan Cibulka - PDF

Description
DATABÁZOVÉ SYSTÉMY V GIS Návody na cvičenia Renata Ďuračiová, Dušan Cibulka DATABÁZOVÉ SYSTÉMY V GIS Návody na cvičenia Renata Ďuračiová, Dušan Cibulka SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE 2015

Please download to get full document.

View again

of 135
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Information
Category:

Novels

Publish on:

Views: 152 | Pages: 135

Extension: PDF | Download: 0

Share
Transcript
DATABÁZOVÉ SYSTÉMY V GIS Návody na cvičenia Renata Ďuračiová, Dušan Cibulka DATABÁZOVÉ SYSTÉMY V GIS Návody na cvičenia Renata Ďuračiová, Dušan Cibulka SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE 2015 Všetky práva vyhradené. Nijaká časť textu nesmie byť použitá na ďalšie šírenie akoukoľvek formou bez predchádzajúceho súhlasu autorov alebo nakladateľstva. Ing. Renata Ďuračiová, PhD., Ing. Dušan Cibulka, PhD. Recenzenti: Ing. Róbert Fencík, PhD. Mgr. Ivan Škultéty Ing. Renata Ďuračiová, PhD., Ing. Dušan Cibulka, PhD. DATABÁZOVÉ SYSTÉMY V GIS Návody na cvičenia Vydala Slovenská technická univerzita v Bratislave v Nakladateľstve STU, Bratislava, Vazovova 5, v roku Edícia skrípt Rozsah 135 strán, 161 obrázkov, 7 tabuliek, 7,906 AH, 8,128 VH, 1. vydanie, edičné číslo 5880, vydané v elektronickej forme; umiestnenie na Schválila Edičná rada Stavebnej fakulty STU v Bratislave ISBN Obsah Zoznam použitých značiek a skratiek... 6 Úvod... 9 Konvencie a poznámky Zoznam zadaní úloh Databázový systém a inštalácia systému riadenia databázy Dáta, databáza, databázový systém, systém riadenia databázy Prehľad najpoužívanejších systémov riadenia databázy PostgreSQL MySQL Oracle SQL Server Inštalácia SRDB PostgreSQL Relačné databázy a základy jazyka SQL Relačné a objektovo relačné databázy, relačná algebra Dopytovací jazyk SQL Jazyk DML výber, vkladanie, modifikácia a vymazanie záznamov Jazyk DDL príkazy na definíciu dát Tvorba jednoduchých dopytov v jazyku SQL Jazyk SQL v databázovom systéme PostgreSQL príkazy jazyka DML Jazyk SQL v databázovom systéme PostgreSQL príkazy jazyka DDL Vytvorenie modelovej databázy v PostgreSQL Priestorové databázy Priestorové a geografické dáta Priestorové dopyty a priestorové funkcie v databázových systémoch Základné funkcie na manipuláciu s priestorovými dátami Funkcie na realizáciu priestorových analýz Funkcie na zistenie topologických vzťahov priestorových objektov... 74 3.2.4 Funkcie na konverziu a vytváranie priestorových dát Priestorové dopyty v jazyku SQL v databázovom systéme PostgreSQL s rozšírením PostGIS Export, import, zálohovanie a vizualizácia priestorových dát Export/Import dát z a do databázy Vizualizácia dát Export/import a zálohovanie databázy v PostgreSQL a vizualizácia priestorových dát v softvérovom prostredí QGIS Návrh a tvorba databázy Entitno-relačné diagramy modelovanie entít a relácií Chenov formát E-R diagramov Relačný formát diagramov Lineárny textový zápis Diagram tried v jazyku UML Pravidlá a konvencie návrhu relačných databáz Tvorba štruktúry tabuliek databázy v PostgreSQL Návrh projektu v databázovom systéme PostgreSQL Výsledky Zoznam obrázkov Zoznam tabuliek Zoznam príloh Použitá literatúra Zoznam použitých značiek a skratiek Značka / skratka ACID ANSI API BLOB BSD CASE CSW DBMS DCL DDL DML E-R (diagram) EPL EPSG ESRI FK GIS GiST GML GNU Charakteristika Atomicity, Consistency, Isolation, Durability (atomickosť, konzistencia, izolovanosť a trvácnosť) American National Standards Institute (Americký normalizačný úrad) Application Programming Interface (aplikačné programové rozhranie) Binary Large Object (veľký binárny objekt) Berkeley Software Distribution Computer Aided Software Engineering (počítačovo podporované softvérové inžinierstvo) Catalog Service for the Web (webová katalógová služba) Database Management System (systém riadenia databázy) Data Control Language (jazyk na riadenie prístupu k dátam) Data Definition Language (jazyk na definíciu dát) Data Manipulation Language (jazyk na manipuláciu s dátami) Entity-Relationship (diagram) (entitno-relačný (diagram)) Eclipse Public Licence European Petroleum Survey Group Environmental Systems Research Institute Foreign Key (cudzí kľúč) Geographic Information System (geografický informačný systém) Generalized Search Tree Geography Markup Language (geografický značkovací jazyk) GNU's Not Unix 6 Značka / skratka GPL IEC IP ISO JDBC JPEG KN MVCC ODBC ODbL OGC OLE DB OpenFTS PDA PDF PK PL/SQL PNG PSM SDE SEQUEL Charakteristika General Public License International Electrotechnical Commission (Medzinárodná elektrotechnická komisia) Internet Protocol International Organization for Standardization (Medzinárodná organizácia pre normalizáciu) Java Database Connectivity (databázové rozhranie na platforme Java) Joint Photographic Experts Group Kataster nehnuteľností Multi-Version Concurrency Control Open Database Connectivity (otvorené databázové rozhranie) Open Database Licence Open Geospatial Consortium Object Linking and Embedding Database Open Source Full Text Search engine Personal Digital Assistant Portable Document Format Primary Key (primárny kľúč) Procedural Language/Structured Query Language (procedurálne rozšírenie SQL) Portable Network Graphics Persistent Stored Module (trvalo uložený modul) Spatial Database Engine Structured English Query Language (štruktúrovaný anglický dopytovací 7 Značka / skratka SFA S JTSK SPIT STN SQL SQL/MM SQL/PSM SRDB SRID TCL TIFF TIN T-SQL URL XML WKB WKT Charakteristika jazyk) Simple Feature Access (jednoduchý prístup k objektom) Systém jednotnej trigonometrickej siete katastrálnej Shapefile to PostGIS Import Tool Slovenská technická norma Structured Query Language (štruktúrovaný dopytovací jazyk) SQL Multimedia (rozšírenie SQL pre multimediálne dáta) SQL/Persistent Stored Modules (rozšírenie SQL o prácu s trvalo uloženými modulmi (procedúrami)) Systém riadenia databázy Spatial Reference System Identifier (identifikátor referenčného súradnicového systému) Transaction Control Language (jazyk na riadenie transakcií) Tagged Image File Format Triangulated Irregular Network (nepravidelná trojuholníková sieť) Transact-SQL (rozšírenie SQL o spracovanie transakcií) Uniform Resource Locator (jednotný lokalizátor zdroja) extensible Markup Language (rozšíriteľný značkovací jazyk) Well-Known Binary (binárna reprezentácia objektov) Well-Known Text (textová reprezentácia objektov) 8 Úvod Elektronické skriptá Databázové systémy v GIS (Návody na cvičenia) sú určené predovšetkým študentom 2. stupňa študijného programu Geodézia a kartografia (GaK) na Stavebnej fakulte Slovenskej technickej univerzity v Bratislave, ale aj všetkým záujemcom o problematiku datatabázových systémov, správy priestorových informácií a geografických informačných systémov (GIS). Cieľ skrípt je poskytnúť čitateľom informácie z oblasti databázových systémov v súvislosti s ich využitím v GIS a tiež umožniť praktickú aplikáciu poznatkov získaných v rámci predmetu DSGIS pri riešení zadaných úloh (zadaní). Preto sú skriptá zamerané nielen na širokú problematiku databázových systémov, ale aj na jej rozšírenie o charakteristiku priestorových dát a ich praktické použitie v databázových systémoch a GIS. Skriptá sú členené do piatich hlavných kapitol a záverečnej kapitoly, v ktorej sú uvedené výsledky riešených úloh. Každá hlavná kapitola obsahuje úvodnú teoretickú časť, ktorá je nazvaná Teoretické minimum a praktickú časť, ktorú tvorí zadanie úloh a prípadne aj postup ich riešenia. Zaradenie podkapitoly Teoretické minimum umožňuje samostatné použitie elektronických skrípt, pretože obsahuje najdôležitejšie informácie, ktoré sú potrebné pri riešení úloh zadaných v druhej časti každej kapitoly. Teoretické minimum zahŕňa len stručné informácie, podrobnejšie je problematika opísaná v skriptách (Ďuračiová, 2014) alebo v prednáškach predmetu DSGIS. V prvej kapitole skrípt sú opísané základné princípy a charakteristiky databázových systémov a prvé zadanie je zamerané na inštaláciu softvérového prostredia databázového systému, konkrétne systému PostgreSQL. Druhá kapitola obsahuje stručné vysvetlenie štruktúry relačných databáz, ich matematických základov a tiež charakteristiku funkcionality dopytovacieho jazyka SQL (Structured Query Language), ktorý už dlhodobo predstavuje štandard v oblasti relačných a objektovo relačných databáz. Zadania z tejto tematickej oblasti sú zamerané na zvládnutie tvorby jednoduchých dopytov v jazyku SQL, najprv z hľadiska používania databázy a neskôr aj z pohľadu jej tvorby a modifikácie. Tretia kapitola obsahuje problematiku rozšírenia databázových systémov o možnosti spracovania a analýzy priestorových dát. Úlohy zadania sú orientované na zvládnutie tvorby priestorových dopytov do databázy s využitím rôznych funkcií voľne dostupného modulu PostGIS. Štvrtá kapitola dopĺňa problematiku databázových systémov a priestorových dát o možnosť importu 9 a exportu dát z a do databázy a tiež približuje problematiku vizualizácie priestorových dát v prostredí GIS, konkrétne v open source GIS softvéroch QGIS a udig. Piata kapitola je venovaná navrhovaniu a modelovaniu databáz pomocou entitno-relačných diagramov alebo prostredníctvom štandardizovaného modelovacieho jazyka UML (Unified Modeling Language) a obsahuje aj základné princípy a postupy logického návrhu relačných databáz. Táto kapitola približuje problematiku databázových systémov z pohľadu návrhára alebo tvorcu databáz. Zadanie je zamerané na samostatný návrh a vytvorenie jednoduchej databázy z vybranej domény, ktorá bude spĺňať stanovené požiadavky. Kapitoly skrípt na seba navzájom nadväzujú, ale zároveň sú vytvorené tak, aby zadané úlohy bolo možné riešiť aj samostatne, a tým sa oboznámiť napríklad len s inštaláciou databázového systému (kapitola 1), základmi jazyka SQL (kapitola 2), problematikou priestorových databáz (kapitola 3), importom, exportom a vizualizáciou priestorových dát (kapitola 4) alebo logickým návrhom databáz (kapitola 5). Výhodou skrípt je, že riešenie úloh zo zadaní si nevyžaduje inštaláciu žiadneho proprietárneho softvéru a môže byť realizované aj prostredníctvom dostupných open source softvérov. Príklady a úlohy v skriptách sú pre lepšiu názornosť v oblasti geodézie a kartografie tematicky zamerané na problematiku dát katastra nehnuteľností (KN) alebo vektorových priestorových dát s možnosťou ich vizualizácie v prostredí GIS. Dopyty v jazyku SQL sú kvôli možnosti rýchleho osvojenia si základných princípov jazyka demonštrované na veľmi jednoduchých príkladoch, orientovaných len na konkrétny jav alebo funkciu, ktoré sú realizované vo výrazne zjednodušenej modelovej databáze. Takto postavené príklady umožňujú osvojenie si základných princípov databázových systémov a pravidiel jazyka SQL dostupnou formou aj v relatívne krátkom období (časová dotácia predmetu DSGIS je dve hodiny prednášok a dve hodiny cvičení týždenne počas jedného semestra). Modelové databázy a súbory priestorových dát, ktoré tvoria prílohy týchto skrípt, sú dostupné na: ftp:// /dsgis/. Elektronické skriptá svojimi návrhmi obsahovo obohatili aj ich recenzenti, Ing. Róbert Fencík, PhD. a Mgr. Ivan Škultéty, za čo im úprimne ďakujeme. Za pomoc, podporu a vytvorenie podnentného prostredia ďakujeme svojim blízkym, kolegom a dobrým priateľom. Bratislava, október 2014 autori 10 Konvencie a poznámky V texte skrípt sú dodržané nasledujúce konvencie: - novodefinované alebo prvýkrát použité pojmy sú vyznačené tučným písmom, - anglické výrazy sú uvedené šikmým písmom (kurzívou) v zátvorkách ( ) za konkrétnym pojmom, - názvy tabuliek, atribútov a ich konkrétnych hodnôt sú uvedené fontom Courier New, - kľúčové slová jazyka SQL sú v dopytoch písané VEĽKÝM TUČNÝM PÍSMOM fontu Courier New, - voliteľné povinné nastavenia v dopytoch sú označené zátvorkami { }, - voliteľné nepovinné nastavenia v dopytoch sú označené hranatými zátvorkami [ ]. Text skrípt bol vytvorený v softvérovom prostredí Microsoft Word a na zhotovovanie obrázkov, tabuliek, diagramov a schém uvedených v skriptách boli využité softvérové prostredia Microsoft Word, Microsoft PowerPoint, Microsoft Visio, Microsoft Access, Select Architect, StarUML, ArcGIS, QGIS (QuantumGIS) a udig. Priestorové dáta použité v zadaniach úloh (v prílohe) a na niektorých obrázkoch pochádzajú z projektu OpenStretMap, ich autori sú OpenStretMap a prispievatelia a sú poskytované pod licenciou ODbL (Open Database Licence). V texte skrípt sú použité aj ďalšie názvy a obchodné známky spoločností Microsoft, Oracle Corporation, IBM, Sybase, ESRI, Sun Microsystems a iných. 11 Zoznam zadaní úloh Zadanie č. 1: Inštalácia SRDB PostgreSQL (1. cvičenie) Zadanie č. 2.1: Tvorba jednoduchých dopytov v jazyku SQL (2. cvičenie) Zadanie č. 2.2: Jazyk SQL v databázovom systéme PostgreSQL príkazy jazyka DML (3. a 4. cvičenie) Zadanie č. 2.3: Jazyk SQL v databázovom systéme PostgreSQL príkazy jazyka DDL (5. cvičenie) Zadanie č. 2.4: Vytvorenie modelovej databázy v prostredí PostgreSQL (6. cvičenie) Zadanie č. 3: Priestorové dopyty v jazyku SQL v databázovom systéme PostgreSQL s rozšírením PostGIS (7. a 8. cvičenie) Zadanie č. 4: Import/export a zálohovanie databázy v PostgreSQL a vizualizácia priestorových dát v softvérovom prostredí QGIS (9. cvičenie) Zadanie č. 5.1: Tvorba štruktúry tabuliek databázy v PostgreSQL (10. cvičenie) Zadanie č. 5.2: Návrh a tvorba projektu v databázovom systéme PostgreSQL (11. a 12. cvičenie) 12 1 Databázový systém a inštalácia systému riadenia databázy (1. cvičenie) Teoretické minimum: 1.1 Dáta, databáza, databázový systém, systém riadenia databázy Dáta 1 sú v STN definované ako opakovateľné predstavenie informácie formalizovaným spôsobom vhodným na komunikáciu, interpretáciu alebo spracovanie. Dáta sú nespracované fakty, spracovaním dostanú požadovanú štruktúru a význam a stávajú sa z nich informácie. Dáta, ktoré poskytujú informácie a poznatky vztiahnuté k určitým miestam v priestore, sa nazývajú priestorové dáta (kapitola 3.1) (Ďuračiová, 2014). Databáza je organizovaná a integrovaná zbierka dát vzťahujúca sa na danú tému alebo oblasť, uložená v pamäti počítača a usporiadaná tak, aby sa mohla používať v požadovaných aplikáciách (STN ). Podľa (Delikát, 2006) je databáza zdieľaná integrovaná počítačová štruktúra, ktorá zahŕňa dáta a metadáta (dáta o dátach). Predstavuje množinu vzájomne súvisiacich dát uloženú na pamäťovom médiu, usporiadanú a organizovanú tak, aby podporila vykonávanie špecifických požiadaviek. Databázový systém (Obr. 1.1a) je systém, ktorý pozostáva z databázy a zo systému riadenia databázy (SRDB) (angl. Database Management System (DBMS)). SRDB je súbor (skupina) programov na spracovanie databázovej štruktúry a riadenie prístupu k databáze. SRDB poskytuje pohodlné a bezpečné multipoužívateľské prostredie na efektívnu manipuláciu aj s veľkým objemom dát. Je to softvér, ktorý komunikuje s databázou, databázovou aplikáciou a prostredníctvom nej aj s používateľom databázového systému 2 (Obr. 1.1b). SRDB podporuje dopytovací jazyk, ktorý obsahuje príslušné príkazy na zabezpečenie základnej funkcionality systému. Väčšinou ide o dopytovací jazyk SQL 1 Výraz dáta nemá jednotné číslo, preto v jednotnom čísle používame slovo údaj. V niektorých zdrojoch literatúry sú preto výrazy údaje a dáta používané ako synonymá, aj keď výraz údaje má všeobecnejší význam ako výraz dáta, pretože údaje môžu byť aj v inej ako digitálnej forme (analógovej). 2 V niektorých zdrojoch literatúry sú pojmy databázový systém a SRDB považované za synonymá. 13 (Structured Query Language) (kapitola 2.2), ktorý predstavuje v súčasnosti štandard na tvorbu dopytov v relačných a objektovo relačných databázových systémoch. SRDB umožňuje napr.: vytvoriť databázu na konkrétnom médiu, definovať dátové typy 3, štruktúry a konštrukcie pre dáta uložené v databáze, manipulovať s dátami (vytvárať a aktualizovať dáta, selektovať dáta na základe konkrétnych požiadaviek), zdieľať databázu medzi viacerými používateľmi (riadením prístupu k databáze prostredníctvom nastavenia prístupových práv alebo riadením vzájomných konfliktov pri aktualizácii databázy viacerými používateľmi súčasne), chrániť dáta proti neautorizovaným a chybným prístupom a haváriám systému (napr. zamedzením neoprávnených prístupov a modifikáciám databázy, zálohovaním databázy a pod.), spravovať transakcie, ktoré vykonajú v databáze niekoľko zmien súčasne v rámci jednej transakcie. a) b) používateľ SRDB DB dáta metadáta databázová aplikácia (rozhranie) Obr a) Databázový systém, b) komunikácia používateľov s databázovým systémom (Ďuračiová, 2014) 1.2 Prehľad najpoužívanejších systémov riadenia databázy Softvérové prostredia databázových systémov (konkrétne SRDB) môžeme podľa dostupnosti ich zdrojového kódu rozdeliť na proprietárne (s uzavretým (nedostupným) zdrojovým kódom) a open source (s otvoreným zdrojovým kódom, väčšinou voľne dostupné). 3 Dátový typ určuje v databáze typ hodnôt, ktoré môže atribút nadobúdať. Medzi najpoužívanejšie dátové typy v relačných databázach patria reťazcové, numerické, booleovské, dátumové a časové dátové typy, ale napr. aj dátový typ na ukladanie veľkých binárnych objektov BLOB (Binary Large OBject) alebo BINARY. Na prácu s priestorovými dátami sa používajú špeciálne priestorové dátové typy (kapitola 3.1). 14 Medzi najznámejšie open source SRDB v súčasnosti patria PostgreSQL (kapitola 1.2.1) a MySQL (kapitola 1.2.2), medzi proprietárne SRDB najmä Oracle (kapitola 1.2.3), SQL Server (kapitola 1.2.4), ale aj napr. databázové systémy Sybase (vyvíjaný rovnomennou spoločnosťou), DB2 a Informix (v súčasnosti obidva vyvíjané spoločnosťou IBM). Menšie databázové aplikácie môžu byť realizované aj ako personálne (jednopoužívateľské) alebo desktopové databázy, napr. v softvérovom prostredí Microsoft Access alebo Visual FoxPro, aj keď v týchto prípadoch v skutočnosti nejde o kompletné plnohodnotné databázové systémy PostgreSQL PostgreSQL (http://www.postgresql.org 4 ) je objektovo relačný (kapitola 2.1) open source databázový systém sprístupnený pod vlastnou licenciou PostgreSQL Licence (PostgreSQL) (http://opensource.org/licenses/postgresql). Databázový systém PostgreSQL bol pôvodne vyvinutý na univerzite Berkeley v Kalifornii a jeho pôvodný názov bol Postgres. (nadväzoval na pôvodný projekt Ingres). Je podporovaný najčastejšie používanými operačnými systémami ako Linux, UNIX a Windows. Je plne ACID 5 (Atomicity, Consistency, Isolation, Durability) kompatibilný, čo znamená, že vykonané transakcie spĺňajú všetky potrebné kritériá, ktorými sú: atomickosť, konzistencia, izolovanosť a trvácnosť. PostgreSQL a jeho implementácia SQL spĺňa štandard SQL:2008. PostgreSQL plne podporuje cudzie kľúče, spájanie tabuliek, pohľady, triggre (kapitola 2.2.2) a uložené procedúry (v rôznych jazykoch, napr. C, Perl, Python a pod.). Podporuje aj poddopyty, 4 citované Kritériá ACID definujú teoretické požiadavky na správanie sa systémov, v ktorých je dôležité bezpečné spracovanie dát. Tieto požiadavky musia byť vždy splnené napr. v prípade vykonávania transakcií. Jednotlivé písmená skratky ACID znamenajú: A Atomicity (atomicita) t. j.
Related Search
Similar documents
View more...
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks