Objektrelationale raumbezogene Datenbanken

Werbung
Technische Grundlagen der Interoperabilität
Objektrelationale
raumbezogene Datenbanken
Seminar Geoinformation WS 2001/2002
Referent: Dirk Fitting
Betreuer: Dr. G. Gröger
Objektrelationale raumbezogene Datenbanken
Überblick:
Was bedeutet „Objektorientiert“
Was bedeutet „Raumbezogen“?
Wie sind relationale Datenbanken aufgebaut?
Von relationalen zum objektorientierten Datenbankmodell
SQL und SQL-Standard
Versuch der Standarisierung von Datenbanken für SQL
vom „OpenGIS Consortium“
7) Open GIS: Spezifikation für einfache räumliche objektrelationale
Datenbanken und Nutzung als GIS
8) Beschreibung von Architektur und Normativen der Spezifikation
1)
2)
3)
4)
5)
6)
Objektorientierte Modellierung
Objektorientierte Denkweise
Ganzheitliche Betrachtung der Objekte mit ihren Beschreibungen
(Attributen) und ihrer Funktionen bzw. Verhalten (Methoden)
Das objektorientierte Datenbankmodell
-„objektorientiert“
Konzepte aus der Informatik:
• Identität
• Klassenbildung
• Kapselung (Integration von Daten und Methoden, Zugriff nur über
Methoden)
• Vererbung (einfach, mehrfach)  Superklassen, Subklassen
Objektorientierte Modellierung
Objektorientierte Datenbanken
• machen Objekte persistent
• sind eng verbunden mit objektorientierten Sprachen (ODL)
• ihnen vorausgegangen sind objektorientierte Programmiersprachen
wie z.B. C++ (  Definition von abstrakten Datentypen (ADT))
„objektrelational“
• im SQL - Standard kein neues Paradigma
• Setzt auf dem alten relationalen Modell auf und erweitert es
 erweitern vorhandene persistente (relationale) Datenhaltung um
objektorientierte Modellierungsmittel
Raumbezogene Datenmodelle und -strukturen
- Raumbezogene Daten versuchen die Realwelt zu modellieren
- Realweltobjekte sind komplex strukturierte Objekte mit:
• zahlreichen raumbezogenen Eigenschaften (Attributen):
Geometrie, Sachdaten, Aufgaben, etc.
• räumliche Beziehungen zwischen den Objekten:
z.B.
räumlich - topologisch: Gebäude steht auf Grundstück
räumlich - geometrisch: Gebäude hat einen Abstand zu
seinem Nachbargebäude
Aufbau und Struktur von relationalen Datenbanken*
- Attribute: Eigenschaften die in einer Datenbank gespeichert werden
- Domänen: Wertebereiche zur Beschreibung von Daten (integer, string, ...)
- Relationen (Menge von Tupeln) und Relationsschema (Definition)
- Tupel: Menge von Attributen
- Schlüssel, Primärschlüssel und Fremdschlüssel
1) Primärschlüssel identifiziert eindeutig ein Tupel einer Relation
2) Fremdschlüssel stellen Beziehungen zwischen Relationen her
- Datenbankschema und Datenbank
Schema für eine relationale Datenbank wird festgelegt durch:
1) Eine Menge von Bezeichnern für Relationen
2) Für jede Relation ein Relationsschema
3) Für jede Relation weitere Konsistenzbedingungen
* G. Matthiessen / M. Unterstein: Relationale Datenbanken und SQL; Addison-Wesley Verlag
SQL und SQL-Standard
(SQL – Structed Query Language)
- SQL hat sich als Standardabfragesprache für relationale
Datenbanken etabliert
- Mit SQL lassen sich alle Operationen der Relationsalgebra
realisieren
- Sprachelemente von SQL lassen sich einteilen in:
1) DDL (Data Definition Language)
2) DML (Data Manipulation Language)
- SQL und SQL92 (Entwicklungsstufe 1992)
Open GIS
Simple Feature Spezifikation
für SQL
Architektur für SQL92
Implementation von Tabellen typisierter Klassen
Open GIS Consortium.Inc
- Vereinigung
- Zusammenschluss mehrer GIS Hersteller, Universitäten,
staatliche Institute, etc.
Ziel:
- Kompatibilität
- offene interoperable GIS- Systeme
- Nutzung von Geodaten auf der ganzem Welt
- Vorraussetzung: Einheitlicher Aufbau der Datenbanken
Spezifikation
- Spezifikation für interoperable Systeme:
Standarisierung für SQL-Schema zur Speicherung,
Verwaltung, Erweiterung und Bearbeitung raumbezogener
Daten (GIS-Geoinformationssystem).
Implementation beinhaltet keine Funktionen für Zugriff,
Erhaltung oder Bearbeitung von geometrischen Objekten.
- Anwendungssprachen können diese Anfragen basierend auf
SQL – Prozeduren übernehmen.
Zugriff und Nutzung aller Interessenten durch Softwareprodukte: Small World, Oracle, Informix, Access etc.
Architektur – SQL Implementation von „Feature
Tables“
Datenbankschema
- Jedes „Feature table or view“ charakterisiert eine „Feature class“
- jedes „Feature table or view“ besitzt eine Anzahl von „Features“,
die als „rows“ in dem „view“ aufgeführt werden.
1) geometrischen „Features“, deren Geometrie in extra Vektortabellen, den sogenannten „Geometrie Columns“ aufgeführt sind
2) sonstigen „Features“, deren Datentyp einfacher oder benutzerdefinierter Form ( z.B. in C++: Struct ,case, usw.) sind
- die Verbindung zwischen den geometrischen „Features“ und der
„Feature table or view“ wird durch den GID (foreign key
reference) hergestellt
- eindeutige Zuordnung des GID
Datenbankschema (Open GIS)
Geometry columns
Feature Table/View
F_Table_Catalog
F_Table_schema
F_Table_Name
F_Geometry_Columns
G_Table_Calalog
G_Table_Schema
G_Table_Name
storage_Type
geometry_Type
Coord_Dimension
Max PPR
SRID
<Attributes>
GID
<Attributes>
Spatial_Reference_System
SRID
Auth_Name
Auth_SRID
SRText
Standarisierte Geometrie
(Numeric Type)
Geometry Columns
GID
ESEQ
ETYPE
SEQ
x1
y1
x2
y2
...
...
x <Max>
y <Max>
GID
xMIN
yMIN
xMAX
yMAX
oder
WKB Geometrie
(Binary Type)
Geometry Columns
Bounding box
Architektur im SQL-Standard
Drei Speicherungsformen für geometrische „Feature Tables“:
SQL92 - Implementation für „Feature Tables“
1) Vektormatrix – standarisierte Geometrie
2) Binäres Koordinaten-Tupel - WKBGeometry
(Well - Known Binary- Representation for Geometry)
SQL92 mit Geometrietypen-Implementation für
„Feature Tables“
3) Objektorientierte Speicherung mit Hierachietypen
standarisierte Geometrie für Polygone
GID ESEQ ETYPE SEQ X0 Y0 X1 Y1 X2 Y2
1
1
3
1
0 0 0 30 30 30
1
2
3
1 10 10 10 20 20 20
2
1
3
1 30 0 30 30 60 30
2
2
3
1 40 5 40 20 45 20
2
2
3
2 50 15 50 5 40 5
3
1
3
1
0 30 0 60 30 60
4
1
3
1 30 30 30 60 60 60
(0,60)
(30,60)
X3 Y3
30 0
20 10
60 0
45 15
NIL NIL
30 30
60 30
X4 Y4
0 0
10 10
60 0
50 15
NIL NIL
0 30
30 30
(60,60)
Zu Null setzen
Eindeutiges
Anzahl
Geometrietyp
Reihenfolge
derObjektkennzeichen
Einzelsegmente
(0,30)
(GID 3) (30,30) (GID 4)
ESEQ 1
(GID 1)
(0,0)
(60,30)
ESEQ 2
(GID 2)
(30,0)
(60,0)
Analoge Überlegungen für Punkte und Linien
Linien
Punkte
GID ETYPE SEQ X0 Y0 X1
205
2
1
0 0 30
206
2
1
10 10 10
207
2
1
30 0 30
208
2
1
40 5 40
208
2
2
50 15 50
210
2
1
0 30 0
211
2
1
30 30 30
GID ETYPE X
7
1
0
8
1
10
9
1
30
10
1
40
11
1
50
12
1
0
13
1
30
Y
0
10
0
5
15
30
30
Y1
2
20
30
20
5
60
60
X2
25
20
60
45
40
30
60
Y2
15
20
30
20
7
60
60
X3
4
20
60
45
NIL
30
60
Y3
40
10
0
15
NIL
30
30
X4
13
10
60
50
NIL
0
30
Y4
55
12
0
15
NIL
33
37
?
Geht aus Spezifikation
nicht hervor
WKB Geometrie für Polygone
Datenformat
Geometrietyp
BestehtRing
3aus
= Polygon
hat
2 Ringen
3 Punkte
B
=1
T
=3
NR
=2
NP
=3
X1
Y1
X2
Y2
X3
Y3
NP
=3
X1
Y1
Ring 2
Ring 1
Polygon
.....
Objektorientierte Speicherung mit Geometrietypen
Vererbung von Methoden steht im Vordergrund
Geometrie
Kapselung - Zugriff nur über Methoden
Struktur und Speicherung der Daten nur sekundär von Interesse
Curve type)
Point
Surface
GeometryCollection
(numeric
und binary
SQL muss abstrakte Datentypen (ADT) verarbeiten können
Spezifikation standarisiert:
Spezifikation standarisiert nicht :
Polygon
MultiSurface
MultiCurve MultiPoint
LineString
• Namen und Geometrietypen• Syntax für die Speicherung
definition für Speicherung
und Funktionen
• Name, Signaturen und Geo• Die physikalische Speicherform
metriedefinition für die MultiPolygon
MultiLineString
Funktionen
Probleme dieser Spezifikation
• Standarisierungen für Nutzer der Spezifikation zu
undetailliert
• Vorschriften dieser Spezifikation sind mehrdeutig
• Auslegung der vorgeschlagenen Normativen kann
unterschiedlich ausfallen
Seminar Geoinformation WS 2001/2002
Danke für die Aufmerksamkeit
Herunterladen