Prostorové databáze, prostorové indexy Veronika Sládková, H2KNE1
Prostorové databáze Databáze: Databázový systém zahrnuje: Stálá data využívaná aplikačními systémy dané instituce (u klasických databází strukturovaná) Integrovaná, sdílená, bezpečná Databázový systém zahrnuje: Technické prostředky Data Programové vybavení Uživatele
Prostorové databáze Obsahuje datové modely( kolekce konceptuálních nástrojů pro popis objektů) Dělíme na dvě skupiny: Logické modely – modely založené na objektech - modely založené na záznamech Modely fyzických dat – popisují data na fyzické úrovni
Prostorové databáze Logické modely: Relační model dat – data jsou reprezentované tabulkami Síťový model – vztahy mezi nimi jsou reprezentovány vazbami – vztah mnohý s mnoha
Prostorové databáze Hierarchický model – podobný jako síťový pouze organizovaný jako stromy
Databázové jazyky 1. Jazyk pro definici dat (DDL) Specifikace schématu databáze Výsledkem jsou informace uložené ve slovníku dat 2. Jazyk pro manipulaci s daty (DML) Poskytuje prostředky pro databázové operace 3. Jazyk pro řízení dat Pro řízení přístupu k datům Integritní omezení 4. Transakční zpracování
Databázové jazyky Obecné rozdělujeme: Uživatelé databáze: Procedurální – určují, která data jsou třeba a jak je získat Neprocedurální – stanoví, která data jsou zapotřebí, jsou obecně snadnější,ale efektivní Uživatelé databáze: Administrátor – zajišťuje centrální kontrolu nad daty a programy, plní rozhodnutí správce Aplikační programátoři – vytváření aplikační programy s využitím jazyka pro manipulaci s daty Znalí uživatelé – formulují požadavky Naivní uživatelé – komunikují se systémem
Relační model dat Relace R je konečná podmnožina kaztézského součinu domén Di , příslušejících jednotlivých atributů Ai Relačním schématem rozumíme výraz ve tvaru R(A:D), kde R je jméno schématu a A:D je konečná množina výrazů, v němž je každému atributu přiřazena jeho množina přípustných hodnot – domén Dále definuje pojem entita – jednoznačně identifikovatelný objekt Atribut – vlastnost entity, jejíž hodnotu chceme mít v databázi
Relační model dat Mezi jednotlivými entitami existují vztahy = asociace a jsou charakterizovány: Stupněm – kardinalitou Členstvím – souvisí s atributy vztahů Podle počtu účastníků: Unární – relace sama se sebou Binární – mezi dvěma entitami Ternární – X dělá Y pro Z
Relační model dat Podle asociace účastníků: Členství: 1:1 – jedna n-tice první relace má vztah s právě jednou n-ticí druhé relace 1:N – jedna n-tice první relace má vztah s několika n-ticemi druhé relace M:N – několik n-tic první relace má vztah s několika n-ticemi druhé relace Členství: Povinné Volitelné
Relační model dat E-R diagramy – grafický vyjadřovací prostředek (jazyk), který slouží k popisu konceptuálního schématu databáze Identifikují datové objekty – co je entita a co je atribut Definují vztahy mezi entitami (relace)
Relační algebra Jazyk relačních DB systémů Rozlišujeme: Unární operace: Binární operace: Projekce Sjednocení Selekce Rozdíl Součin Průnik Spojení Podíl
Jazyk SQL Využití: Definice dat Interaktivní jazyk pro manipulaci s daty Manipulační jazyk pro hostitelské prostředí Definice pohledů Autorizace, integrita Řízení transakcí
Jazyk SQL Základní části: 1. Jazyk pro definici dat DDL Obsahuje: jméno databázové tabulky Definice sloupce – jméno, typ sloupce Definice integritních omezení – primary key, unique Jazyk pro manipulaci dat DML Operace: Select, Update, Delete, Insert Agregační funkce: Slouží k výpočtům z tabulek – Count, AVG, MIN, MAX, SUM Pomůcky: Aktualizace, Odstranění, Vložení
Prostorový jazyk SQL 2 oblasti jazyka: Dotazovací Prezenční Rozšíření SQL – Spatial, Operace, Predikáty Operace: 1. Unární: Topologické – určují dimenzi, hranici, vnitřek Aritmetické – Délka(pro 1D objekty), Plocha (2D obj.), Objem (3D obj.) Kombinace – obvod, extrémní souřadnice, doplněk, konvexní obal
Prostorový jazyk SQL Prostorové predikáty 2. Binární operace Distance – výsledkem je nezáporné reálné číslo Směr – úhel udávající azimut Prostorové predikáty
Prostorový jazyk SQL Grafický reprezentační jazyk GPL Instrukce: SET – nastavení parametrů CANCEL – jejich zrušení SHOW – ukáže aktuální hodnotu PERMANENT – uloží pro příští práci se systémem IMMEDIATELY – podle změny se překreslí aktuální výsledek dotazu
Prostorový jazyk SQL Zobrazovací mód: Vizuální proměnné: Udává jak se zobrazují výsledky sekvence dotazů Možnosti: Alpha – konvenční alfanumerické zobrazování 5 grafických módů: New - začít kreslit Overlay – přídáváme výsledky do kresby Remove – odstraňujeme výsledky z kresby Intersect – na kresbě zůstanou objekty Hightlight – zvýraznění výsledků na kresbě Vizuální proměnné: SET LEGEND Měřítko Výřez Kontext
Prostorové indexy Prostorové datové struktury (indexy) Cíl: rychlý přístup k fyzicky uloženým datům 2 přístupy: 1.Transformace prostorových objektů do jiné dimenze -> body 2.Prostor je dělen staticky nebo dynamicky na podprostory Podprostorům se přiděluje určitá část vnější paměti Transformační přístup Záznam – bod mnohorozměrného prostoru, Problém: Nezachovává topologii (sousedství) Příklady: MĚSTO(Název, Počet_obyvatel, Adresa_magistrátu, Rozloha) Bod 4-rozměrného prostoru (sloupce tabulky – osy) Úsečka (x1, y1, x2, y2) – transformace z 2D do 4D
Prostorové indexy Dělení prostoru: 1. Nepřekrývající se oblasti: Prostor P je rozdělen do navzájem disjunktních podprostorů. 2 typy metod: duplikace objektů stříhaní objektů (clipping) Příklady: R+ stromy, buňkové stromy, k-d-stromy Příklady: R+ stromy, buňkové stromy, k-d-stromy 2. Pokrývající se oblasti :Každý objekt je obsažen právě v jednom z podprostorů P, který tvoří pokrývající oblast objektu Pokrývající oblast - MOO Příklad: R stromy
Prostorové indexy Metody: Čtyřstromy k – d stromy Mnohorozměrná mřížka
Prostorové indexy R- stromy – Guttmann (1984) Uzel – 1 stránka paměti Uzel vnitřní (I, ukazatel) Uzel vnější (I, Id) I má obecně tvar (I0, I1,..., Ik-1) Ii je interval [ai, bi] popisující ohraničení objektu v dimenzi i. Pro k = 2 potř R strom – dynamická struktura Delete – slévání stránek Insert – štěpení stránek MOO se v podstromech mohou překrývat (složité vyhledávání - nejednoznačnost) ebujeme 4 parametry.
Prostorové indexy R- Stromy - vlastnosti každý vnitřní uzel má n bezprostředních následníků, n < m1, m >, každý listový uzel obsahuje n indexových záznamů n < m1, m>, kořen má nejméně dva bezprostřední následníky, není-li listem, všechny cesty v R-stromu jsou stejně dlouhé. m1= m/2, m = řád stromu
Prostorové indexy SS – stromy R+ - stromy Buňkové stromy