Prostorová databáze
Prostorová databáze (prostorový databázový systém) je postrelační databázový systém schopný spravovat (ukládat, zpracovávat, manipulovat, dotazovat se) prostorová data (např. bod, úsečka, polygon). Prostor zde znamená 2 nebo více dimenzí. Prostorové databázové systémy mohou s výhodou využít geografické informační systémy. Příkladem prostorového databázového systému je Oracle Spatial.
V prostorových databázích nalezneme množiny entit z určitého prostoru, u kterých je zřejmá identifikace, umístění a vztah k okolí.
Protože v počítači nemůžeme zachytit každé reálné číslo (pouze s omezenou přesností), používají se k popisu entit například přístupy:
- simplexy (skládání složitějších entit z jednodušších)
- Simplex je nejmenší nevyplněný objekt dané dimenze, 0simplex je bod, 1simplex úsečka, 2simplex trojúhelník, 3simplex je čtyřstěn atd. Každý d-simplex se skládá z d+1 simplexů rozměru d-1, tyto se nazývají styky. Kombinace simplexů do složitějších struktur je povolena jen, když je průnik libovolných dvou simplexů styk.
- úplné deskriptory/realms (kompletní popis modelované oblasti)
- Úplné popisy, či deskriptory (realms) jsou množinou bodů, úseček, případně vyšších celků s následujícími vlastnostmi. Každý (koncový) bod (i složitějšího celku) je bodem sítě, žádný vnitřní bod (složitějšího celku) není zaznamenán v síti a žádné dvě úsečky (složitější celky) nemají ani průsečík ani se nepřekrývají.
Aby bylo možné ukládat prostorová data a provádět nad nimi požadované operace musí databáze podporovat prostorové datové typy (např. bod
, lomená úsečka
, region
apod.) a operace, kde takové datové typy vstupují jako parametry, případně vystupují jako výsledek. Tyto operace se dělí na predikáty (např. je_uvnitř()
), relace (např. průnik()
) a ostatní operace (např. plocha()
). Dále musí databázový systém zajistit funkci již existujících operací (např. projekce, selekce).
Algebra ROSE
Příkladem algebry pro podporu prostorových databázových systémů je algebra ROSE (RObust Spatial Extension). Tato algebra vychází z deskriptorů (realms) a složitější objekty získává jejich skládáním. Základem jsou body, úsečky a oblasti (plochy, které mohou mít i díry). Je zde definován tzv. R-cyklus, což je uzavřená lomená úsečka, která je vytvořena podle pravidel ukládání deskriptorů a u které na sebe jednotlivé dílčí úsečky navazují. Dále je zde definována R-plocha, což je dvojice (c, H), kde c je R-cyklus a H je množina R-cyklů, přičemž všechny R-cykly z H jsou hranově vnořené v c a vzájemně hranově disjunktní, a platí také, že žádný jiný cyklus není možné ze segmentů popisujících tuto plochu dále vytvořit. Pro R-plochy je definováno vnoření. Algebra ROSE pak specifikuje datový typ regions
, což je množina hranově disjunktních R-ploch. Navíc rozšiřuje definici plošného vnoření z dvou R-ploch na dvě množiny R-ploch.
Algebra ROSE definuje polohu dvou objektů jako:
- plošně vnořené,
- hranově vnořené,
- vrcholově vnořené,
- plošně disjunktní,
- hranově disjunktní
- a vrcholově (úplně) disjunktní.