Transcript BD_Sp

CAPITOLE AVANSATE
DE BAZE DE DATE
BAZE DE DATE
SPAŢIO-TEMPORALE
- Baze de date spaţiale -
Obiecte spatiale

Înainte de implementarea unei aplicaţii propriu-zise, pasul
obligatoriu este cel de modelare a datelor implicate.

Modelarea datelor care urmează a fi stocate într-o bază de date
are în vedere în primul rând caracteristicile sistemului de
gestiune al datelor, iar studiul proprietăţilor viitoarelor date
gestionate este următorul pas.

Aplicatii: GIS (Geographic Information System), CAD
(Computer-Aided Design), CAM (Computer-Aided
Manufacturing), VLSI-design (Very-Large-Scale Integration);
plus robotica, electronica, arhitectura, biologia, medicina,
ecologia s.a.
Notiuni si semantici spatiale

Partiţia: Fie S o mulţime nevidă. Atunci P = {P1, P2, …, Pp} este o
partiţie a lui S dacă şi numai dacă sunt îndeplinite condiţiile:







 i:=1..p, Pi  
 i, j:=1..p, i  j, Pi  Pj = 
 Pi = S, i:=1..p
În particular, o partiţie este implicată în descompunerea spaţiului de lucru
[Sa90] – pentru gestiunea unor proprietati ale spatiului (harti tematice) sau
in modelele raster.
Elementele unei partitii – poligonale sau non-poligonale. Cea mai mare
parte a modelelor spaţiale care efectuează o partiţionare a spaţiului de
lucru apelează la prima variantă deoarece formele poligonale sunt uşor de
reprezentat şi de gestionat.
O partiţie a spaţiului este numită regulată dacă poligonul unui element al
partiţiei este regulat. Altfel, e denumită ne-regulată.
Dacă o partiţionare permite descompunerea recursivă a elementelor sale,
atunci e considerată a fi nelimitată, altfel este limitată.

Figura. Tipuri de partitii: regulat non-limitat, regulat
limitat, non-regulat non-limitat.

Obiecte spatiale intalnite frecvent (intr-un spatiu 2D):



punctul, linia şi regiunea. Acestea constituie reprezentarea obiectelor
simple, individuale.
Alături de acestea, există tipuri de date care particularizează cele trei
tipuri de bază, precum segmentul, jumătatea de segment (utilizat în
reprezentarea duală a unui segment, considerând o jumătate de
segment corespunzând unui capăt al segmentului) [FG+00], cercul,
regiunea cu goluri [FG+00, GB+00] ş.a.
În plus, anumite aplicaţii necesită modelarea şi gestiunea de colecţii de
obiecte spaţiale corelate spaţial: partiţie (de exemplu: harta judeţelor),
reţea sau graf (de exemplu: reţea de transport, râuri, electricitate,
comunicatii).
Obiecte spatiale

Centroid: centrul de greutate al unei
figuri geometrice.
De exemplu: centroidul unui segment de
dreaptă într-un spaţiu 2D,
S = ((x1, y1), (x2, y1)),
este dat de punctul de coordonate
PC = ((x1 + x2) / 2, (y1 + y2) / 2).
Vezi figura.
Structura spaţiului

Harti tematice (layer-e): asocierea de anumite caracteristici unor
regiuni din spatiul de lucru; o harta tematica – partitie a spatiului de
lucru, iar fiecarui element al partitiei ii este asociata o valoare din
“tematica” hartii (ex: relief, temperatura, culturi agricole etc.). Vezi
model raster.

Structura spaţiului folosit este unul din aspectele care diferenţiază
modelele spaţiale.
Există două tehnici de modelare a datelor spaţiale într-un sistem de
calcul: raster (grid) şi vectorial [WWW1].


În cadrul unui model vectorial, o informaţie spaţială indică unde există
sau unde se produce ceva, iar în cadrul unui model raster indică ce
există sau se produce pretutindeni (în fiecare locaţie a realităţii
reprezentate).
Structura spatiului




Modelele raster (grid) reprezintă spaţiul de lucru acoperit de o mulţime de celule şi
tratează informaţia precum temperatura, presiunea, altitudinea ca funcţii spaţiale ce
transformă o celulă într-un domeniu de atribut. Regiunile asociate acestora
formează o partiţie a spaţiului de lucru.
Acest tip de modelare oferă o viziune continuă a spaţiului [CZ00].
Deşi nu există restricţii teoretice privind modul de partiţionare, aceasta este
efectuată în general sub formă de grid, cu celule rectangulare.
Parametrii care definesc un model raster: dimensiunea gridului, rezoluţia gridului,
informaţie de legătură geografică.



Primii doi factori sunt în legatură directă: pentru un acelaşi spaţiu de lucru, cu cât
gridul conţine mai multe linii şi coloane, cu atât rezoluţia este mai mare.
Informaţia de legătură geografică reprezintă informaţia de asociere a unei celule cu
o locaţie din realitatea modelată. Fiecare celulă este identificată prin linia şi coloana
din grid unde este poziţionată (nu conform situării spaţiale geografice).
Unei celule îi pot fi asociate valorile anumitor atribute (unul sau mai multe) ale
punctului central al acesteia. Astfel, reprezentarea raster a obiectelor spaţiale poate
surprinde:


valori numerice continue (informaţie cantitativă, de exemplu: temperatura)
categorii continue (informaţie calitativă, de exemplu: tipuri de climă).
Structura spatiului




Modelarea spaţială de tip raster: folosită în general în reprezentarea hărţilor
tematice (de exemplu: o hartă a nivelelor de temperatură, a tipurilor de
vegetaţie etc.).
În cazul în care există mai multe asemenea hărţi definite pe o regiune
spaţială pentru diferitele caracteristici surprinse, se permite suprapunerea
acestora în scopul obţinerii de informaţie complexă, comparativă, sau de
analiză.
Alături de hărţi tematice, pot fi reprezentate într-un spaţiu modelat ca grid şi
obiecte spaţiale discrete.
Acestea sunt reprezentate prin tabloul celulelor / pixelilor a căror acoperire
se intersectează cu forma obiectului. Astfel, datele spaţiale nu au caracter
de continuitate, ci sunt divizate în unităţi discrete de informaţie.
Structura spaţiului

Figura.
Model
raster
Structura spaţiului

Figura.
Model raster.
Suprapunere
Structura spaţiului

Figura.
Model
raster.
Battleships
Structura spaţiului

Model raster

Avantaje: foloseşte structuri de date simple, proceduri de analiză spaţială
simple

Dezavantaje: nevoia unui spaţiu de stocare relativ mare (fapt care depinde
şi de granularitatea gridului şi informaţia asociată celulelor), lipsa acurateţii
de reproducere vizuală a datelor în cazul unei granularităţi mai puţin fine
Structura spaţiului





În cadrul modelelor vectoriale, orice punct este reprezentat prin coordonate
relative la un punct de referinţă din spaţiul de lucru.
Strâns legată de modelul vectorial este topologia, preocupată de ordine,
continuitate, poziţie relativă.
Datele spaţiale modelate vectorial reprezintă caracteristici discrete, iar un
model vectorial surprinde doar informaţie utilă (a obiectelor reprezentate),
nu şi referitoare la întreg spaţiul de lucru. Astfel, se spune că oferă o viziune
discretă a spaţiului [CZ00].
Avantaje: sunt uşor de reprezentat şi gestionat tipurile de date spaţiale
menţionate anterior (depinde, totusi, de complexitatea lor), spaţiul de
stocare mai redus decât în cazul modelului raster, relaţiile metrice sunt uşor
/ precis de determinat, afişarea datelor este mult mai apropiată de realitate,
iar rezoluţia nu este un parametru al sistemului, ci este dată implicit de
acurateţea datelor primite în sistem
Dezavantaje: necesitatea structurilor de date mai complexe, a
echipamentelor şi aplicaţiilor mai costisitoare (de exemplu – distanta este
mai usor de calculat, intersectia poligoanelor este mai greu de obtinut).
Structura spaţiului

Figura. Model vectorial
Discretizarea domeniului spaţial

Domeniul spaţial al majorităţii aplicaţiilor spaţiale este văzut doar teoretic
ca fiind spaţiul euclidian. Întrucât un sistem de calcul este limitat în
reprezentarea mulţimii infinite de numere reale, pentru modelarea datelor
spaţiale se foloseşte:



Situatie spre a fi discutata: intersectia a doua segmente, in cazul in care punctul de
intersectie are coordoonate care nu apartin de domeniul ales. Se disting două
orientări în tratarea unei asemenea anomalii, în funcţie de modelul spaţial şi de
acurateţea cerută de către aplicaţie:



un domeniu discret, dictat de domeniile tipurilor de date avute la dispoziţie
în sistem (numit aici „domeniu continuu discretizat”), sau
un domeniu discret redefinit în cadrul proiectării.
se acceptă ca rezultatul să fie o aproximare a celui real, în aplicaţiile care
îşi permit asemenea erori de calcul; această situaţie apare îndeosebi în
discretizarea spaţiului de lucru prin utilizarea domeniilor tipurilor de date
(numere reale) ale sistemului de calcul; nu se corecteaza segmentele;
se aplică tehnici de corectare a rezultatului prin translatarea punctului real
de intersecţie spre un punct al domeniului spaţial [GS93]; se corecteaza
segmentele.
(Vezi problemele de intersectie in cadrul realm-ilor.)
Baze de date spaţiale

Definiţie. Datele ce reprezintă poziţia şi / sau forma unor obiecte,
indiferent de sistemul de referinţă, se numesc date spaţiale.

Definiţie. O bază de date spaţială este o bază de date optimizată pentru
stocarea, gestiunea şi interogarea datelor spaţiale. Aceasta pune la
dispoziţie tipuri de date spaţiale în modelul său de date şi în limbajul de
interogare, suport pentru tipuri de date spaţiale în implementare, indexare
spaţială şi algoritmi eficienţi pentru join spaţial [Gu94].

Teoretic, orice variabilă care poate fi localizată spaţial sau căreia i se pot
asocia coordonate spaţiale (indiferent de sistemul de referinţă) poate fi
inclusă într-o bază de date spaţială. Aceste date sunt identificate sub
diferite denumiri: date geometrice, geografice sau spaţiale.

Observaţie. Deosebirea dintre baze de date de imagini şi baze de date spaţiale.
Modelarea datelor spaţiale

Realm-i

Un model spaţial care foloseşte un domeniu discret în reprezentarea
spaţiului şi a obiectelor spaţiale [GS93, GS95, Sc95]; foloseşte un domeniu
finit de valori numerice care poate fi definit de către utilizator şi care
constituie baza definirii unei mulţimi de tipuri de date spaţiale.

Definiţie. Realmul este o mulţime finită de puncte şi segmente de dreaptă
definite pe un domeniu finit, de tip grid, astfel încât:





fiecare punct este un punct al gridului;
fiecare capăt de segment este un punct al gridului;
nici un punct din realm nu aparţine unui interior de segment;
oricare două segmente distincte nu se intersectează şi nu se suprapun.
Obiecte spatiale usor de modelat: puncte, linii, regiuni, plus retele sau
partitii. Acestea pot fi reprezentate folosind doar puncte si segmente ale
realm-ului. Un obiect spatial nu este creat pe realm (direct), ci pe realm
sunt create elemente de constructie (puncte, linii) asociate acestuia.
Modelarea datelor spaţiale

Realm-i

ROSE algebra



Actualizarile sunt efectuate pe obiectul spatial si pe elementele realm-ului
asociate acestuia (propagarea actualizarilor).




Tipuri de date
Operatori spatiali (=, <>, disjoint, on-border-of, intersection, area, closest,
etc.)
Bd contine obiecte spatiale (id + alte caracteristici) + referinta(e) la
obiectul(ele) din realm care-l reprezinta
Fiecare punct & segment al realm-ului contine lista id-urilor obiectelor care-l
contin in geometria lor
Avantaje: posibilitatea de definire a unor tipuri distincte de date spaţiale pe
acelaşi domeniu, garanţia proprietăţilor de închidere (în operaţiile spaţiale),
şi forţarea consistenţei geometrice a obiectelor în relaţii spaţiale (de
exemplu: adiacenţa a două obiecte de tip regiune).
Dezavantaje: integrarea relativ dificilă a realmilor într-un SGBD, costul
propagării actualizării realmului la nivelul atributelor obiectelor şi al refacerii
obiectelor spaţiale din elementele realmului.

Figura. Domeniu spaţial discret de tip grid şi obiecte spaţiale de
tip punct (P), linie (L), şi regiune (R).

Figura.
Problema
intersecţiei /
realm-i.

Complexe simpliciale [Sc95]

Consideră spaţiul de lucru ca fiind continuu (teoretic) sau discret, compus
dintr-o colecţie de forme geometrice neregulate.
Prin alăturare de asemenea forme de bază se permite modelarea spaţiului
şi a obiectelor spaţiale; un obiect de bază este numit k-simplex [Sc95].


Definitie. Fie k+1 puncte din Rn, v0, v1, ..., vk, astfel încât vectorii v1 - v0, ...,
vk - v0 sunt liniar independenţi. Mulţimea {v0, v1, ..., vk} este numită
independentă geometric şi mulţimea de puncte
k
k = {x  Rn | x 

i:  0
k
i
 v i ,   i  1,  i  0} Rn
i:  0
este numită simplex de dimensiune k (k-simplex), cu vârfurile v0, v1, ..., vk.

Figura. Simplexe de diferite dimensiuni (in spatiul 3D)

Complexe simpliciale

Un k-simplex reprezintă închiderea convexă a celor k+1 puncte în spaţiul
cel putin k-dimensional . Orice k-simplex este format din k+1 simplex-uri de
dimensiune k-1, unde acestea sunt numite feţe ale obiectului k-simplex.

k-complex: multime finita de simplexe, pentru care cea mai mare
dimensiune este k.
K-complex restrictie: intersectia a doua simplexe este multimea vida sau o
fata comuna a acestora (simplexe de aceeasi dimensiune).
Obiectele spaţiale sunt situate în acest spaţiu şi orice asemenea obiect
este construit prin agregare de obiecte de tip simplex din cadrul partiţiei.




Avantaje: păstrarea consistenţei topologice între obiectele spaţiale şi
implementarea fără dificultăţi a structurilor de date şi a algoritmilor de
gestiune a complexelor simpliciale.
Dezavantaje: costul ridicat de triangulare a spaţiului de lucru şi de calcul a
unor operaţii numerice, precum distanţele.

Figura. Complexe simpliciale

Algebra geo-relationala

Un model de date spaţiale definit pe spaţiul Euclidian continuu discretizat
[Gu88], propus ca implementare într-un SGBD relaţional.

Modelul cuprinde tipuri de date spaţiale, împreună cu operatori ai algebrei
geo-relaţionale (operatori pentru datele spaţiale).
Tipuri de date spatiale:
 Point (corespunzător unui punct al spaţiului),
 Line (ca secvenţă de segmente),
 Pgon şi Area (corespunzătoare regiunilor din plan, reprezentate ca
poligoane simple). Tipul de date Area este similar tipului Pgon, cu
restricţia că obiectele de acest tip sunt elementele unei partiţii.


Algebra geo-relationala

Un obiect cu caracteristici spaţiale este reprezentat printr-un tuplu al unei
relaţii, iar o relaţie conţine o colecţie omogenă de obiecte geometrice
(mulţime de puncte, mulţime de linii etc.); un asemenea tuplu contine
atribute geometrice si non-geometrice.
Obiectele spaţiale modelate reprezintă direct obiectele din realitate, fără a
folosi descompunere în obiecte primitive (k-simplex) sau a împrumuta
elemente ale domeniului (realm).



Avantaje: structuri de date simple, usor utilizabile.
Dezavantaje: obiectele spaţiale sunt distribuite în cadrul a mai multor
relaţii, în funcţie de tipul formei geometrice care le caracterizează.

K-Spaghetti

K-Spaghetti [LT92] este un model de date utilizat pentru reprezentarea
obiectelor spaţiale într-un spaţiu vectorial k-dimensional. Această tehnică de
modelare este frecvent întâlnită în cadrul aplicaţiilor precum CAD sau GIS,
unde, în general, dimensiunea spaţiului este 2 sau 3.
Scopul: de a furniza un mod general de a reprezenta relaţional obiectele
geometrice printr-un tuplu sau un set de tuple.
Fiecare obiect spatial este triangulat, iar fiecare triunghi este reprezentat
printr-un tuplu al relatiei care stocheaza obiectele spatiale.



Capabil sa reprezinte obiecte de tip punct, segment de dreapta, poligon
(posibil, prin triunghiuri degenerate).

Figura. Punct (P), segment (S), poligon non-convex (Pg)

Tabel. Inregistrari k-spaghetti
OID
x1
y1
x2
y2
x3
y3
P
2
6
2
6
2
6
S
1
2
4
3
4
3
Pg
6
1
8
3
6
3
Pg
6
3
8
3
7
5
Pg
6
3
7
5
5
5

Model spaţial cu constrângeri liniare

Iniţiat în [KK+90], modelul de baze de date cu constrângeri a fost uşor
implicat în reprezentarea datelor spaţiale [BB+97, GR+98a].
BD contine un set finit de constrangeri.
Aplicarea constrângerilor în domeniul datelor spaţiale constă în
reprezentarea obiectelor geometrice ca mulţimi infinite de puncte date de
formule de logica predicatelor de ordinul întâi.
Aceste formule sunt în conjunctii de constrângeri liniare, unde
constrângerile liniare sunt de forma



 p

  a i  x i   a 0 
 i: 1

unde   {=, }, ai  Z, p  1.

Ex: happy hour
hour > 9 AND hour <= 13 OR hour = 22
se reprezinta =>
-hour <= -10 AND hour <= 13
hour = 22

Obiectele geometrice care pot fi reprezentate cu ajutorul constrângerilor
liniare: punct, segment, semi-deaptă, dreaptă, poligon sau orice regiune
(finită sau infinită) a spaţiului.

Ca şi tip de modelare a spaţiului, corespunde celui vectorial.

Avantaje: permite reprezentarea obiectelor intr-un spatiu n-dimensional,
unde n  1, chiar daca fizic este greu de imaginat; poate reprezenta subspatii infinite intr-o maniera finita (limitata).
Limitari ale modelului: in general se reprezinta doar poligoane convexe (cu
ajutorul a doua sau mai multe constrangeri liniare); pentru un poligon
concav – se descompune in poligoane convexe si se obtine prin reuniunea
acestora.


Figura. Punct (P), segment (S), poligon non-convex (Pg), regiune
infinita (Ri)
Tabel. Constrangeri lineare
Obiect geometric
Constrangeri lineare
P
x=2y=5
S
3x - y = 2  -x  -1  x  2
Pg
-x  -5  x  7  -y  -2  y  6
Pg
-y  -1  y  2  -x  -5  x + y  8
R
-x + y  1  2x + y  18

Model de date pentru manipularea partiţiilor

Un model de date adaptat reprezentării hărţilor tematice / partitiilor este
descris în [SV89].
Se reprezintă numai date de tip regiune.




Regiunea elementară este o mulţime de puncte 2D, ce poate fi poligon sau
submulţime infinită din R2, mărginită de drepte,
Reuniunea a două regiuni elementare (conectate sau non-conectate) este
tot o regiune elementară.
O regiune elementară sau un set de regiuni elementare determină o regiune.

O hartă tematică este reprezentată printr-o mulţime de tuple, unde un tuplu
reprezintă o regiune. O relaţie ce conţine datele unei hărţi include în
structură atribute de tip non-spaţial şi cel puţin un atribut de tip spaţial.

Un defect al acestui model este lipsa constrângerilor de disjuncţie la nivelul
elementelor unei hărţi – necesar in cadrul unui asemenea model. În plus,
deoarece fiecare hartă este memorată într-o relaţie individuală, modelul de
date este dependent de aplicaţie.

Model de date pentru manipularea partiţiilor

Cerinte:



Tip de data regiune (limitata, eventual ne-limitata)
Impunerea de constrangeri a.i. sa se respecte definitia partitiei
De preferat – obtinerea unor structuri care sa nu depinda de problema
propusa
Baze de date spaţiale

Bibliografie (minim)

[Sa90] H. Samet, The Design and Analysis of Spaţial Data Structures, Addison-Wesley, Reading, MA, 1990.
[FG+00] L. Forlizzi, R. H. Güting, E. Nardelli, M. Schneider, A Data Model and Data Structures for Moving Objects Databases,
SIGMOD Conference, p. 319-330, 2000.
[GB+00] R. H. Guting, M. H. Bohlen, M. Erwig, C. S. Jensen, N. A. Lorentzos, M. Schneider, M. Vazirgiannis, A Foundation for
Representing and Quering Moving Objects, ACM Transactions on Database Systems (TODS), Vol.25(1), p.1-42, 2000.
[WWW1] Data Types and Models, Disponibil la http://www.gis.com/implementing_gis/data/data_types.html.
[CZ00] C. X. Chen, C. Zaniolo, SQLST: A Spatio-Temporal Data Model and Query Language, In Proceedings of the 19th
International Conference on Conceptual Modeling (ER'00), p. 96-111, 2000.
[GS93] R. H. Guting, M. Schneider, Realms, A Foundation for Spatial Data Types in Database Systems, In Proceedings of the
3rd International Symposium on Large Spatial Database Systems, p. 14-35, 1993.
[Gu94] R. H. Guting, An Introduction to Spatial Database Systems, VLDB Journal, Vol. 3(4), p. 357-399, 1994.
[GS95] R. H. Guting, M. Schneider, Realm-Based Spatial Data Types: The ROSE Algebra, VLDB Journal, Vol. 4(2), p. 243-286,
1995.
[Sc95] M. Schneider, Spatial Data Types for Database Systems, Ph. D. Thesis, Haga, 1995.
[Gu88] R.H. Guting, Geo-relational Algebra: A Model and Query Language for Geometric Database Systems, In Proc of
Extending Database Technology, p. 506-527, 1988.
[LT92] R. Laurini, D. Thompson, Fundamentals of Spatial Information Systems, Academic Press, 1992.
[KK+90] P. C. Kanellakis, G. M. Kuper, P. Z. Revesz, Constraint Query Languages, Symposium on Principles of Database
Systems, p. 299-313, 1990.
[BB+97] A. Belussi, E. Bertino, B. Catania, Manipulating Spatial Data in Constraint Databases, Proceedings of the 5th
International Symposium on Large Spatial Databases, p. 115-141, 1997.
[GR+98a] S. Grumbach, P. Rigaux, L. Segoufin, The DEDALE System for Complex Spatial Queries, In ACM-SIGMOD Intl. Conf.
on the Management of Data (SIGMOD), p. 213-224, 1998.
[SV89] M. Scholl, A. Voisard, Thematic Map Modeling, In. Proceedings of the 1st Symposium SSD, p. 167-190, 1989.













