Räumliche Operatoren - Universität der Bundeswehr München

Werbung
MSC Bau, Modul „GIS“ (Nr. 1620)
Kap 1.
Datenbanken und Geo - Datenbanken
Prof. Dr.-Ing. Wolfgang Reinhardt
AGIS / Institut für Angewandte Informatik
Universität der Bundeswehr München
[email protected]
www.agis.unibw.de
Ziele und Inhalte – Vorlesung GIS
Ziele:
Weitergehende GIS-Technologien kennen
(Datenerfassung, Datenbanken, Analysen, Geo Web Services,)
GIS Analysen durchführen können
Grundbegriffe der Datenbanken kennen, mit DB „umgehen“ können
Grundlagen der Visualisierung kennen
09.01.2012
Kap 1.
16.01.2012
Datenbanken 1
Datenbanken 2
23.01.2012
Kap 2.
GIS Analysen
30.01.2012
Kap 3.
Geo Web Services 1
06.02.2012
13.02.2012
Geo Web Services 2
Kap 4.
Visualisierung
20.02.2012
Übung
27.02.2012
Übung
05.03.2012
Übung
12.03.2012
Übung
19.03.2012
26.03.2012
Kap 5.
Div. Themen
Abschlußbesprechung
2.Geodatenbanken
2 / 69
Überblick – Kap. 1
• Einführung Datenbanken
• Arten von Datenbanken
• Eigenschaften von Datenbanken
• Relationale Datenbanken
• SQL
• Geodatenbanken,
• Räumliche Indices
• Räumliche Operatoren,
 Praktische Vertiefung in den Übungen
2.Geodatenbanken
3 / 69
Inhalte Übung
Übungsinhalt: primär Methoden, nicht Software-Werkzeuge
(die sind Voraussetzung)
Software: ArcGIS, MS Access (DB)
• Arbeiten mit Datenbanken, Datenabfragen, Analysen / SQL
• Einfache Analyseverfahren in GIS
• Komplexe Analyseverfahren in GIS
• Geoprocessing, Geo Web Services
Anfertigung von Ausarbeitungen / Hausarbeiten!
2.Geodatenbanken
4 / 69
Literatur
Zu Datenbanken große Auswahl!
Ein Beispiel:
On-line-version verfügbar (->google)
Zu Geodatenbanken:
2.Geodatenbanken
5 / 69
Allgemeine
Datenbankeigenschaften
Allgemeine Datenbankeigenschaften
Geodatenbanken
Räumlicher Index
Datenbank - Wieso? Weshalb? Warum?
Räumliche Operatoren
• Daten unabhängig von Anwendungsprogrammen
• Selbstbeschreibend (Schema als Metadaten)
• Simultanzugriff (Viele Nutzer teilen gleiche Daten)
• Verschiedene Sichten (der untersch. Benutzer)
• Zugriffskontrolle (Benutzer)
• Fehlertoleranz / Transaktionen
• Datenkonsistenz (Kontrolle, Sicherstellung)
• Datensicherheit (Wiederherstellbarkeit)
2.Geodatenbanken
6 / 69
Allgemeine Datenbankeigenschaften
Allgemeine
Datenbankeigenschaften
Geodatenbanken
Räumlicher Index
Weitere Vorteile
Räumliche Operatoren
• Nutzung von Standards (Zugriff, Bedienung ..)
• Effizienter Datenzugriff
• Grosser Funktionsumfang
• Hohe Flexibilität (Nutzeranforderungen)
• Hohe Verfügbarkeit (s. z.B. banking)
• Gute Wirtschaftlichkeit
2.Geodatenbanken
7 / 69
Allgemeine Datenbankeigenschaften
Allgemeine
Datenbankeigenschaften
Geodatenbanken
Räumlicher Index
Räumliche Operatoren
Arten von Datenbanken
• Relationale Datenbanken - RDB
im weiteren primär betrachtet
• Objektorientierte Datenbanken
• Mischformen (z.B. Objektrelationale)
• Weitere (z.B. hierarchische)
• Vgl. auch Folien zu Geodatenbanken
2.Geodatenbanken
8 / 69
Allgemeines zu Datenbanken
Allgemeine
Datenbankeigenschaften
Geodatenbanken
Räumlicher Index
Räumliche Operatoren
Relationale Datenbanken –
Beispiele für Software Produkte / Hersteller:
•
Oracle
•
DB2 (IBM)
•
MySQL (open source)
•
SQL-Server (MS)
•
PostgreSQL (open source)
•
MS Access
•
U.v.m.
2.Geodatenbanken
9 / 69
Allgemeine
Datenbankeigenschaften
Architektur
Geodatenbanken
Räumlicher Index
Räumliche Operatoren
Mensch
BenutzerIn
Anwendungsprogramm
Datenbanksystem
DBMS
Anfragebearbeitung
Datenzugriff
Benutzeroberfläche
Access, MySQL,
Oracle
Software
Datenbank
Metadaten:
Daten
DB-Definition
2.Geodatenbanken
Datenspeicherung
und Beschreibung
10 / 69
Allgemeine
Datenbankeigenschaften
Überblick
Geodatenbanken
Räumlicher Index
Räumliche Operatoren
Anforderungsanalyse
 Text
Konzeptionelles Schema
ER-Schema (o. UML)
Logisches Schema
 DB-Schema
Implementierung Schema
Anwendung/Nutzung
SQL
Wartung und Pflege
2.Geodatenbanken
11 / 69
Allgemeine
Datenbankeigenschaften
Definition Datei
Geodatenbanken
Räumlicher Index
Räumliche Operatoren
Eine Datei…
…Eine Datei ist ein strukturierter Bestand
inhaltlich zusammengehöriger Daten, die auf
einem beliebigen Datenträger oder
Speichermedium abgelegt bzw. gespeichert
werden kann. Diese Daten existieren über die
Laufzeit eines Programms hinaus und werden
als nicht flüchtig oder persistent (Gegensatz:
transient) bezeichnet. ...
2.Geodatenbanken
12 / 69
Definition Datenbank
Allgemeine
Datenbankeigenschaften
Geodatenbanken
Räumlicher Index
Eine Datenbank besteht aus …
Räumliche Operatoren
… der Datenbasis, d. h. einer Sammlung
strukturierter Daten mit ihrem Datenschema
und einem Datenbankmanagementsystem zur
Verwaltung der Datenbasis.
Ein Datenbankmanagementsystem (DBMS) …
… ist ein Softwaresystem, das die Daten in der
Datenbasis entsprechend vorgegebener
Beschreibungen effizient verwaltet (Speichern,
Auffinden, weitere Operationen). Typischerweise
enthält ein DBMS Routinen zur Dateneingabe,
Datenüberprüfung, Speicherung, Abfrage,
Kombination und Analyse.
2.Geodatenbanken
13 / 69
Allgemeine
Datenbankeigenschaften
RDB - Datenbankgrundlagen
Geodatenbanken
Räumlicher Index
Datenbankdesign:
Räumliche Operatoren
Anforderungsanalyse, was wird benötigt!
Beschreibung mit ER (Entity Relationship) – Diagramm
bzw. auch Entity Relationship Modell (ERM) genannt
Bzw. alternativ mit UML
Entity = etwas, das existiert
- Bsp: Studentin, Dozentin, Vorlesung
Attribute = Eigenschaften eines Entity
- Bsp: Name, Studiengang, Titel, Raum, Zeit
2.Geodatenbanken
14 / 69
Allgemeine
Datenbankeigenschaften
ERM
Geodatenbanken
Räumlicher Index
Beispiele – Entites, Attribute:
Räumliche Operatoren
Vorlesung
Name
DozentIn
Zeit
Vorl.nr.
Titel
Fachgebiet
Raum
Raum
Gewässer
Name
Typ
Wassergüte
2.Geodatenbanken
15 / 69
Allgemeine
Datenbankeigenschaften
ERM
Geodatenbanken
Räumlicher Index
Beispiele –ER-Modell:
Name
MatrNr
Räumliche Operatoren
Studiengang
StudentIn
Name
DozentIn
hören
Fachgebiet
Zeit
Raum
Raum
halten
Vorlesung
DozNr
Titel
2.Geodatenbanken
16 / 69
Allgemeine
Datenbankeigenschaften
Relationales Modell (1)
Geodatenbanken
Math. Hintergrund der RDB (math. Definition
von Operationen etc.)
• Relationale Algebra
 Mathematische Struktur
• Relationales Schema:
 Relname(Attribut1, ..., Attributn)
• Relation
 Menge von Tupeln ( auch: „n-Tupel“ oder
verkürzt „Tupel“ bezeichnet eine Sammlung mit
einer beliebigen Anzahl n von Attributen)
• Mengen plus Operationen
 Projektion, Selektion, Durchschnitt, Differenz,...
• Wertebereiche für Tupel
2.Geodatenbanken
17 / 69
Räumlicher Index
Räumliche Operatoren
Relationales Modell (2)
ER-Modell leicht in Relationales Modell (RM) und RDB
transformierbar (s. Folie 22)
Relationale Datenbank (RDB)
Grundstruktur:
Relation (Tabelle)
Studentin
Attribute
(Spalten)
Tupel /
Datensatz
(Zeilen)
2.Geodatenbanken
MatrNr
Studiengang
Anna Katz
630057
Mathematik
Bea Fischer
631124
Informatik
Carla Maus
626115
Informatik
Dorina Hai
702007
Mathematik
Name
18 / 69
Allgemeine
Datenbankeigenschaften
RDB - Datenbankgrundlagen
Geodatenbanken
Räumlicher Index
Implementierung in Tabellen:
Räumliche Operatoren
Vorlesung
VorlNr
Titel
Raum
Zeit
Inf 04
Geoinformationssysteme
LB 107
Di 13 - 15
Mat 12
Einführung in
Datenbanksysteme
LB 131
Di + Do 8 - 10
Bau 121
Statik
LF 257
Mi 14 - 16
2.Geodatenbanken
19 / 69
Allgemeine
Datenbankeigenschaften
RDB - Datenbankgrundlagen
Geodatenbanken
Räumlicher Index
Datenbank Schlüssel, dient in einer Relationalen
Datenbank dazu, die Tupel einer Relation eindeutig zu
identifizieren,
ist also:
• Eindeutig
• Besteht aus ein oder mehreren Attributen
• Beispiel:
 Matrikelnummer (StudentIn)
• Welcher Schlüssel für „Vorlesung"?
2.Geodatenbanken
20 / 69
Räumliche Operatoren
Allgemeine
Datenbankeigenschaften
RDB - Datenbankgrundlagen
Geodatenbanken
Räumlicher Index
Ein Fremdschlüssel
Räumliche Operatoren
ist ein Attribut einer Relation, das in einer anderen Relation
Primärschlüssel oder Schlüsselkandidat ist.
Er dient als Verweis zwischen zwei Relationen, d. h. er
zeigt an, welche Tupel der Relationen inhaltlich
miteinander in Verbindung stehen.
Beispiel:
Buch
Autor
Name
Nr.
A-Nr.
Titel
A-Nr.
ISBN 11
201
Datenbanken
Bartelme, No
201
ISBN 12
202
GIS
Bill, Ralf
202
ISBN 13
203
Mathematik
Frank, Andre
203
ISBN 14
203
Informatik
2.Geodatenbanken
21 / 69
Allgemeine
Datenbankeigenschaften
Vergleich von Begriffen / Konzepten
Geodatenbanken
Räumlicher Index
Räumliche Operatoren
Relationale
Datenbank (RDB)
RelationalesModell (RM)
EntityRelationshipModell (ERM)
Unified Modeling
Language (UML)
Tabelle
Relation
Entität
Objekt-Klasse
Spaltenüberschrift
Attribut
Attribut
Attribut
Zeile
Tupel
Entität
Objekt, Instanz
Zelle
Attributwert
Attributwert
Attributwert
(Fremd)schlüssel
(Fremd)schlüssel
Relationship
Assoziation
Wiederholung:
•
ERM / UML zur Modellierung der Anforderungen (-> konzeptionelles Modell)
•
RM bildet math. Grundlage für RDB
2.Geodatenbanken
22 / 69
Allgemeine
Datenbankeigenschaften
SQL
Geodatenbanken
Räumlicher Index
Räumliche Operatoren
Structured Query Language (-> Standard!)
• Anlegen der DB
• Füllen mit Daten / Änderungen / Löschen
• Zugriffsrechte
• Anfragen an Datenbank
2.Geodatenbanken
23 / 69
Anlegen einer Datenbank
Allgemeine
Datenbankeigenschaften
Geodatenbanken
Räumlicher Index
Sql> create database semesterplan
Räumliche Operatoren
Sql> Create table vorlesung
(Vorlnr char(10) not null,
Titel char(40) not null,
Raum char(10) not null,
Wtag char(10) not null,
Zeit datetime,
PRIMARY KEY (Vorlnr)
);
Sql> insert into Vorlesung (Vorlnr,titel)
values
(„Inf 04“, „Geoinformationssysteme“);
2.Geodatenbanken
24 / 69
Allgemeine
Datenbankeigenschaften
Anlegen einer Datenbank
Geodatenbanken
Ein Beispiel, wie es ein unerfahrener Nutzer machen könnte
Räumlicher Index
Räumliche Operatoren
(durch Überführung seiner „Papierstruktur“):
AuftrNr. Datum
Kunde
Artikelnr. Bezeichnung
Menge
1
1.1.99
1 Schmitt, Bonn
134
Coxorange
4 Kisten
1
1.1.99
1 Schmitt, Bonn
135
Kiwi
4 Kisten
2
1.1.99
2 Müller, Köln
140
Butterbirne
2 Kisten
2
1.1.99
2 Müller, Köln
160
Kürbis, rot
2 Stück
2
1.1.99
2 Müller, Köln
160
Kürbis, gelb
10 Stück
3
2.2.99
1 Schmitz, Bonn
103
Johannisbeeren
5 Kilo
3
2.2.99
1 Schmitz, Bonn
134
Coxorange
12 Kisten
3
2.2.99
1 Schmitz, Bonn
135
Kiwi
2 Kisten
4
2.2.99
45 Lehmann, Jülich
30
Bananen
12 Kilo
4
2.2.99
45 Lehmenn, Jülich
27
Ananas
60 Stück
Quelle: http://www.little-idiot.de/mysql/mysql-255.html
Bewertung?
2.Geodatenbanken
25 / 69
Anlegen einer Datenbank
Allgemeine
Datenbankeigenschaften
Geodatenbanken
Räumlicher Index
Räumliche Operatoren
Bewertung:
• Viele gleiche Einträge (Redundanz) sorgen nach ein paar Monaten dafür, dass die
Datenbank unnötig groß wird.
• Tippfehler (letzte Zeile: Lehmenn) machen das Auffinden aller Lieferungen an Lehmann,
Jülich unmöglich.
• In der Spalte Kunde sind sowohl Kundennummer, Name und Ort zugleich eingetragen.
Herr Krämer muß sich stets selber die Kundennummer merken und alle Daten bei
jedem neuen Auftrag stets neu eintippen.
• Artikelnummer und Bezeichnung könnten als Synonyme verwendet werden, sind aber
hier jeweils für sich in getrennten Spalten gespeichert.
• Die Farbe des Kürbis gibt eine andere Art an, die eine neue Artikelnummer erfordert.
• Die Spalte Menge enthält sowohl die Stückzahl als auch die Einheit der Ware (Kiste,
Stück, Kilo). Die Einheit ist aber stets an die Art der Ware gekoppelt.
2.Geodatenbanken
26 / 69
Allgemeine
Datenbankeigenschaften
Anlegen einer Datenbank
Geodatenbanken
Räumlicher Index
Die Normalisierung eines relationalen Datenschemas
Überführt es in eine Form, die keine vermeidbaren Redundanzen
Räumliche Operatoren
enthält (Details zur Normalisierung / den Normalformen s. Literatur)
Das Beispiel: in der 2. Normalform
1.Tabelle:
AuftrNr.
Datum
KundenNr.
Name
Ort
1
1.1.99
1
Schmitt
Bonn
Bewertung?
Nicht wirklich zusammengehörende
2. Tabelle:
Attribute in einer Relation!
AuftrNr.
ArtNr.
Bez.
Menge
1
134
Cox Orange
4
2.Geodatenbanken
27 / 69
Allgemeine
Datenbankeigenschaften
Anlegen einer Datenbank
Geodatenbanken
Räumlicher Index
Das Beispiel, vollständig normalisiert:
Räumliche Operatoren
1. Tabelle:
ArtNr.
Bez.
134
Cox Orange
AuftrNr.
Menge
ArtNr.
1
4
134
Bewertung?
2. Tabelle:
3. Tabelle:
Auftr.Nr. KundenNr.
Datum
1
1.1.99
1
4. Tabelle:
KundenNr.
Name
Ort (Anschrift...)
1
Schmitt
Bonn
2.Geodatenbanken
28 / 69
Anfragen (Queries) an DB
Allgemeine
Datenbankeigenschaften
Geodatenbanken
Räumlicher Index
Räumliche Operatoren
SELECT * FROM tabelle WHERE bedingung;
Beispiel: Wie heißt die Vorlesung mit der Nummer Inf 04?
SELECT titel FROM Vorlesung WHERE VorlNr = Inf 04;
Weitere Beispiele!
2.Geodatenbanken
29 / 69
Allgemeine
Datenbankeigenschaften
Anfragen über mehrere Tabellen
Geodatenbanken
Räumlicher Index
Räumliche Operatoren
Sinn: alle möglichen Kombinationen der Zeilen ausgeben (ohne Bedingung)
® ergibt das "Kreuz-Produkt" oder "kartesische Produkt„
Tabellen verbinden -> Auch „Tabellen-JOIN“ genannt, hier: „cross JOIN“genannt
Beispiel von oben:
Buch
Autor
Name
Nr.
A-Nr.
Titel
A-Nr.
ISBN 11
201
Datenbanken
Bartelme, Jo
201
ISBN 12
202
GIS
Bill, Ralf
202
ISBN 13
203
Mathematik
Frank, Andre
203
ISBN 14
203
Informatik
select autor.name, buch.titel
from autor, buch
where autor.A-Nr. = buch.A-Nr.
2.Geodatenbanken
30 / 69
Allgemeine
Datenbankeigenschaften
Allgemeine Datenbankeigenschaften (1a)
Geodatenbanken
Räumlicher Index
Verteilte Datenhaltung / verteilte Datenbanken
Räumliche Operatoren
Teile einer Datenbasis befinden sich auf unterschiedlichen
Rechnern (z. B. in einem Netzwerk), jeweils verwaltet durch das
DBMS. Das DBMS führt diese zusammen und unterstützt den
Zugriff auf die Datenbasen. Die verteilte Datenhaltung verläuft
aus Sicht der Benutzer unbemerkt (Transparenz).
Datenbank 1
Abteilung A
Client
NETZWERK
Datenbank 2
Abteilung B
Datenbank 3
Abteilung C
Beispiel: geographisch verteilte Datenhaltung
2.Geodatenbanken
31 / 69
Allgemeine
Datenbankeigenschaften
Allgemeine Datenbankeigenschaften (1b)
Geodatenbanken
Räumlicher Index
Vorteile:
Räumliche Operatoren
- Lokalität der Daten (dezentrale Speicherung)
- Leistungssteigerung durch Parallelisierung
(bei Anfrageberechnungen)
Probleme:
- Netzausfall (keine Verbindung)
- langsames, Teures Netz
- bei redundanter Speicherung:
evtl. Widersprüche bei
Zusammenführung der Daten
Datenbank 1
Abteilung A
Client
NETZWERK
Anwendung:
Unterteilung nach:
Datenbank 2
Abteilung B
• Zuständigkeit,
• thematisch,
Datenbank 3
Abteilung C
Beispiel: geographisch verteilte Datenhaltung
• geographisch
2.Geodatenbanken
32 / 69
Allgemeine Datenbankeigenschaften (2a)
Allgemeine
Datenbankeigenschaften
Geodatenbanken
Räumlicher Index
Räumliche Operatoren
Mehrbenutzerbetrieb / Transaktionskonzept:
Mehrere Benutzer arbeiten gleichzeitig mit einer Datenbank (auch
verteilt). Das DBMS hat dabei die Aufgabe, die Benutzer so zu
verwalten, dass sie sich nicht gegenseitig behindern
(unterschiedliche Benutzergruppen mit unterschiedlichen
Benutzerrechten).
Wenn mehrere Benutzer gleichzeitig an einer Datenbank arbeiten,
können sich die Aktionen gegenseitig beeinflussen bzw. behindern
(mehrere mit Schreibrechten!!!). Nimmt mehr als ein Benutzer
Änderungen vor, kann es zu Konflikten kommen. Viele Lösungen
sind möglich (abhängig von der Semantik), z. B.:
2.Geodatenbanken
33 / 69
Allgemeine
Datenbankeigenschaften
Allgemeine Datenbankeigenschaften (2b)
Geodatenbanken
Räumlicher Index
Räumliche Operatoren
Optimistischer Ansatz:
Es werden keine Vorkehrungen gegen das Entstehen von Konflikten getroffen.
Treten diese auf, sind sie von den Benutzern oder dem DBMS zu beseitigen.
Aufdecken und beseitigen durch Benutzer problematisch, daher Ansätze durch
DBMS:
- Benachrichtigung: die von einem Konflikt Betroffenen werden benachrichtigt.
- Semantische Konfliktlösung: Automatische Bereinigung durch das System
(Wiederherstellen eines konsistenten Zustands). Dazu ist Wissen über die
Semantik der Datenbasis notwendig.
Pessimistischer Ansatz:
Lesen für Änderungen nur für einen Benutzer erlaubt (beachte:
Sperrgranularität).
2.Geodatenbanken
34 / 69
Allgemeine Datenbankeigenschaften (3)
Allgemeine
Datenbankeigenschaften
Geodatenbanken
Räumlicher Index
Räumliche Operatoren
Replikation
Mehrfaches Vorhalten von Datenbeständen (redundant) - auf die replizierten
Daten kann von unterschiedlichen Benutzern gleichzeitig zugegriffen werden.
Ziel:
Verbessern der Performance bei Netzverbindungen mit schmalen
Bandbreiten Erhöhung der Verfügbarkeit bei unterbrochener Verbindung (s. o).
Um Probleme bei der Konsistenthaltung / Aktuellhaltung der Datenbasen zu
vermeiden werden folgende Methoden benötigt:
• Schreibsperren
• Transaktionsmechanismen:
- lange Transaktionen
- kurze Transaktionen
• Konfliktauflösung (vgl. Mehrbenutzerbetrieb)
2.Geodatenbanken
35 / 69
Allgemeine
Datenbankeigenschaften
Allgemeine Datenbankeigenschaften (4)
Geodatenbanken
Constraints:
Räumlicher Index
Constraints sind im Datenbankschema enthaltene Vorschriften,Räumliche Operatoren
die Eigenschaften der Daten in der Datenbasis beschreiben. Das
DBMS überwacht die Erfüllung aller constraints. Entstehen bei
Änderungsoperationen an der Datenbasis Verstöße gegen
constraints im Datenbankschema, meldet das DBMS diese Verstöße
und lehnt die entsprechenden Operationen ab. Beispiele:
- Schlüsseleigenschaften / Fremdschlüsselbeziehungen
- Einschränkungen des Wertebereichs von Attributen
- Semantische constraints (z.B. Hausanschluss - Leitung)
Trigger:
Trigger sind weitere Konstrukte (Prozeduren) zur Sicherung der
Integrität, die automatisch nach bestimmten Datenbankoperationen
aufgerufen werden.
Beispiele
- Tabelle Autor und Buch -> Schlüsselbeziehung
- Nutzer versucht einen Eintrag zu löschen -> Warnung über trigger
2.Geodatenbanken
36 / 69
Allgemeine Datenbankeigenschaften (5)
Allgemeine
Datenbankeigenschaften
Geodatenbanken
Räumlicher Index
Transaktionen
Räumliche Operatoren
Sind zu Paketen zusammengefasste Anweisungen an die Datenbank (z.
B. beliebige Änderungsanweisungen). Ein Paket von Anweisungen wird
als Transaktion bezeichnet, wenn es die ACID-Eigenschaften besitzt:
A = Atomicity: Transaktionen sind atomar – entweder alle
Transaktionen werden durchgeführt oder keine.
C = Consistency: Transaktionen bewahren die Konsistenz einer Datenbank,
überführen die Datenbank also von einem konsistenten Zustand in einen
neuen (konsistenten) Zustand. (Zwischendurch können inkonsistente
Zustände eintreten.)
I = Isolation: Transaktionen sind voneinander isoliert. D. h. auch wenn
viele Transaktionen gleichzeitig ablaufen, sind die Änderungen innerhalb
einer Transaktion für andere nicht sichtbar, bis die Transaktion beendet ist.
D = Durability: Ist eine Transaktion beendet, sind die durchgeführten
Änderungen dauerhaft. Auch ein nachfolgender Systemabsturz kann die
Änderungen nicht mehr rückgängig machen.
2.Geodatenbanken
37 / 69
Allgemeine Datenbankeigenschaften (6)
Allgemeine
Datenbankeigenschaften
Geodatenbanken
Benutzerrechte:
Räumlicher Index
Räumliche Operatoren
- Einzelne Benutzer oder Gruppen
- Rechte nach thematischen oder räumlichen Kriterien, z. B.:
- Leserechte, Schreibrechte, Änderungsrechte, Löschrechte
- Administrationsrechte
-…
Versionsmanagement
Version = Inhalt (Zustand) der Datenbank zu einem bestimmten Zeitpunkt
- stichpunktsbezogen / diskret
- kontinuierlich abrufbar (temporale Datenbank)
• Versionen, z.B. für Historienbildung
• Vollversionierung durch Speicherung der gesamten DB zu einem
Stichpunkt
• inkrementelle Versionierung durch Speicherung der Änderungen
gegenüber einem bestimmten Stichpunkt
2.Geodatenbanken
38 / 69
Allgemeine
Datenbankeigenschaften
Geodatenbanken
Geodatenbanken
Räumlicher Index
Warum spezielle Geodatenbanken
Räumliche Operatoren
Überblick Themen:
• Datentypen in Geodatenbanken
• Organisationsformen von Geodatenbanken
• Gegenüberstellung objektorientiert - relational
• Objektrelationales GeoDBMS
2.Geodatenbanken
39 / 69
Allgemeine
Datenbankeigenschaften
Geodatenbanken
Geodatenbanken
Räumlicher Index
• Warum spezielle Geodatenbanken?
Räumliche Operatoren
Anforderungen an Geodatenbanken:
- Raumbezogene Objekte (komplexe Datentypen)
- Verwaltung großer Datenmengen mit Raumbezug
- Abfragen hinsichtlich der Existenz, Position und den Eigenschaften /
Beziehungen von raumbezogenen Objekten (interaktiv)
 Interaktivität erfordert spez. Zugriffsstrukturen (räumliche Indizierung)
2.Geodatenbanken
40 / 69
Allgemeine
Datenbankeigenschaften
Geodatenbanken
Geodatenbanken
Räumlicher Index
Eine Geodatenbank …
… ist eine Datenbank, deren Datenbasis neben den Standard- Datentypen
(Zeichen, Zahlen usw.) auch Objekte mit Raumbezug verwalten kann. Der
Zugriff auf die Daten und die Verwaltung der gesamten Datenbasis (z.B.
auch Indexdaten und Metadaten) erfolgt über ein GeoDatenbankmanagementsystem.
Ein Geo-Datenbank-Management-System (GeoDBMS) …
… ist ein vollständiges DBMS mit zusätzlichen Möglichkeiten zur
Verwaltung (Repräsentation, Abfrage, Manipulation + weitere Operatoren)
von Objekten mit Raumbezug.
2.Geodatenbanken
41 / 69
Allgemeine
Datenbankeigenschaften
Datentypen in Geodatenbanken
Geodatenbanken
Räumlicher Index
Ein Datentyp legt eine
Menge von Werten und
eine Menge von darauf
zugeschnittenen
Operationen fest.
INTEGER
Wertebereich
(Ganze Zahlen)
von -32768 bis 32768
Operationen
Addition, Subtraktion,
Multiplikation, Division, …
Beispiel: Datentyp Integer
Unterscheidung zwischen:
Basisdatentyp:
im System enthalten, z.B. Integer
benutzerdefinierten Datentyp:
durch Benutzer festgelegt
nichtraumbezogene Datentypen:
Datentypen, die keine raumbezogenen
Eigenschaften eines Objekts definieren,
z.B. Integer, Character ...
oder komplexe Datentypen, wie Foto,
Ton, Video ...
raumbezogene Datentypen:
definieren die räumlichen
Eigenschaften eines Objekts
(geometrische und topologische
Eigenschaften).
2.Geodatenbanken
42 / 69
Organisationsformen von Geodatenbanken
Relationales GeoDBMS
Alle Entitäten werden in Tabellen bzw.
Relationen gehalten. Anfragen an die
Datenbank über SQL.
Allgemeine
Datenbankeigenschaften
Geodatenbanken
Räumlicher Index
Zeile = „Objekt“
Spalte = Attribut
Duales GeoDBMS
Es gibt zwei Datenbasen:
Sachdaten
GEO-Daten
- Nicht räumliche Entitäten werden in
Tabellen bzw. Relationen gehalten (relationales Datenmodell)
- Raumbezogene Entitäten in proprietären Strukturen
- Verknüpfungsmöglichkeiten / Objektbildung durch spezielle SW-Funktionen
Objektorientiertes GeoDBMS
- Abstrakte und vom Benutzer definierbare Datentypen
- Objektbildung, - Klassenbildung, gekoppelt mit Vererbung von
elementaren und strukturierten Attributen
- Kapselung von Objekteigenschaften, -bedingungen, operationen
- Anfragen an die Datenbank über objektorientierte query
2.Geodatenbanken
43 / 69
language
Objekt
Attribut 1 …
Methode 1 …
Allgemeine
Datenbankeigenschaften
Gegenüberstellung: objektorientiert - relational
Geodatenbanken
Räumlicher Index
objektorientiert
relational
Grundelemente
Klassen, Objekte,
Attribute, Methoden
Tabellen (Relationen),
Zeilen, Spalten
Datentypen
komplexe Datentypen
einfache Datentypen
Eigenschaften
und Begriffe
Object Query Language
(OQL), Kapselung, Vererbung,
Identität, Polymorphismus,
Aggregation
Strukturierte Anfragesprache
(z.B. SQL), Abfrageverarbeitung
und -optimierung, Primärschlüssel, Fremdschlüssel
Objektklasse
Objekt
Attribut 1
Attribut 1
Attribut 2
Methode 1
Methode 1
Methode 2
Vererbung: Objekte einer Unterklasse
erben Eigenschaften und Methoden
der Oberklasse
2.Geodatenbanken
Nummer
111
112
113
114
…
…
…
…
…
STUDENT
…
…
…
…
…
…
…
…
…
…
Allg. DB-Konzepte!
PLZ
80686
80141
10899
10561
Primärschlüssel
Fremdschlüssel
PLZ
80686
80141
10899
10561
ORT
Ort
München
München
Berlin
Berlin
Beziehungen
zwischen relationalen Tabellen
44 / 69
…
…
…
…
…
Allgemeine
Datenbankeigenschaften
Objektrelationales GeoDBMS
Geodatenbanken
Räumlicher Index
Konsequente Erweiterung der relationalen GeoDBMS:
• Erweiterung der relationalen Datenbanken um objektorientierte
Eigenschaften
• Komplexe Datentypen, benutzerdefiniert, in einer Spalte einer Tabelle:
- Objekte mit eigenen Attributen und Methoden
- erweiterte Anfragesprache
- Methoden zur effizienten Speicherung und Indizierung dieser
Datentypen
ID
Nutzung
Fläche
Geometrie
...
88
Acker
17593,81
Polygon
...
...
...
...
...
...
“Sachdaten” und Geometriedaten als Attribut
2.Geodatenbanken
45 / 69
Geometrische Zugriffsstrukturen (räumlicher Index)
Allgemeine
Datenbankeigenschaften
Geodatenbanken
Räumlicher Index
- Indexstrukturen in Datenbanken
- Räumliche Anfragen
- Motivation
- R-Baum (1)
- R-Baum (2)
- Strategie: Filter and Refine
- R-Baum - Punktsuche
- R-Baum - Bereichsanfrage
- Quadtree
- Aufbau des Quadtree
- Beispiel
- Weitere Quadtree- Anwendungen
- Zusammenfassung
2.Geodatenbanken
46 / 69
Allgemeine
Datenbankeigenschaften
Indexstrukturen in Datenbanken
Geodatenbanken
Räumlicher Index
Um Anfragen an die Datenbank
zu beschleunigen, verwendet
man Indexe (gespeicherte,
zusätzliche Informationen über
die Daten in der Datenbasis).
Bei Anfragen mit sehr
großen Datenmengen
werden als StandardIndexstrukturen Binär Bäume verwendet.
<n
…
Kunden-Nr.
…
92
…
1215
…
10301
Sortierung
nach Größe
Index Beispiel:
Standarddatentyp Integer
Wurzel
n
Blätter
>n
Standarddatentypen lassen sich linear sortieren. Für Komplexe
Datentypen (z.B. Geometrien) sind Anfragen wie “In welchem
Polygon liegt Punkt P” zu lösen. Für mehrdimensionale Daten
wurden deshalb eigene Indexstrukturen entwickelt.
2.Geodatenbanken
47 / 69
Allgemeine
Datenbankeigenschaften
Räumliche Anfragen
Geodatenbanken
Räumlicher Index
Gegeben:
Menge von flächenhaften
Geoobjekten
z.B.: Orte (ID, Name, Einwohner,
Geometrie)
Gewünschte Anfragetypen:
• Punktanfrage: In welchem Ort
(Polygon) liegt der Punkt P?
• Bereichsanfrage: Welche Orte
(Polygone) liegen innerhalb des
achsenparallelen Rechtecks Q?
2.Geodatenbanken
Orte
Name
Einwohner
Paunzhausen
1 200
Walterskirchen
250
Angerköfe
200
Geometrie
Animation: 3x klicken
48 / 69
Allgemeine
Datenbankeigenschaften
Motivation
Geodatenbanken
Räumlicher Index
Naive Lösung:
Sequentieller Test aller Polygone
Probleme:
1. Die naive Berechnung ist sehr aufwendig
2. Suchzeit linear von der Anzahl der
Polygone abhängig - Nicht vertretbar für
große Mengen!
Lösungsansätze:
zu 1): Filterschritt: Zuerst das minimal
umschließende, achsenparallele Rechteck
(minimum Bounding Box = BB) testen
zu 2): Indexstrukturen für BBs aufbauen
2.Geodatenbanken
Animation: 3x klicken
49 / 69
Allgemeine
Datenbankeigenschaften
R-Baum (1)
Geodatenbanken
Räumlicher Index
Definition:
dynamische Zugriffsmethode oder
01
Indexstruktur in der Datenhaltung für
R11 02
mehrdimensionale Räume
03
Struktur entspricht einem balancierten Baum:
07
R15
R16
R13
Jede Baumebene gruppiert und aggregiert die
04
08
05
Elemente der nach-folgenden Ebene.
R12
R14
09
10
In jedem Blatt werden Referenzen auf die
06
eigentlichen Geometrien, sowie deren
15 16
Bounding Boxes gespeichert. Jeder
13 14
11 12
Vaterknoten speichert für jeden seiner
08 10
Nachfolger wieder die Bounding Box über alle 01 02 03 04 06 09 05 07
seine Teilgeometrien.
Animation: 3x klicken
Legende:
Beispiel: innere Knoten zeigen auf
einen Teilbaum, welcher von einer
BB begrenzt wird.
2.Geodatenbanken
15
Innere Knoten
11
Blattknoten
01
Blattknoten
50 / 69
Allgemeine
Datenbankeigenschaften
R-Baum (2)
Geodatenbanken
Räumlicher Index
Vorgegeben:
• min. Anzahl Einträge pro Knoten: m
• max. Anzahl Einträge pro Knoten: M mit m<=(M+1)/2
• Für die Wurzel des Baumes gilt die untere Schranke m=2
Eigenschaften
• Außer Punktanfragen auch Bereichsanfragen möglich
• Objekte werden räumlich sortiert und können effizient
abgefragt werden
• keine disjunkte Aufteilung des Suchraumes
(Rechtecke können sich überlappen)
• Knoten realisieren räumliche Nachbarschaft
• Alle Blätter haben die gleiche Distanz zur Wurzel
• Knotengröße entspricht Seitengröße des DBMS
2.Geodatenbanken
51 / 69
Strategie: Filter und Refine
Allgemeine
Datenbankeigenschaften
Geodatenbanken
Räumlicher Index
Gegeben:
Ein räumliches Objekt P des gewünschten Anfragetyps:
"schneidet Rechteck Q" oder "enthält Punkt q"
Problem:
1. Bounding Boxes (BBs) approximieren räumliche Objekte. Es treten also
Fälle auf, in denen P für eine BB erfüllt ist, nicht aber für deren
approximiertes räumliches Objekt.
2. Die Indexstruktur liefert Anfrageresultate immer auf Basis der BBs, die in
ihm gespeichert sind.
Lösung:
Punkt- und Bereichsanfragen mit Indexunterstützung werden in zwei Schritten
bearbeitet:
1. Filter-Schritt: Anfrage an den Index; Ergebnis ist eine Kandidatenmenge
auf Basis der BBs.
2. Refine-Schritt: Die Objekte der Kandidatenmenge werden auf der exakten
Geometrie getestet, wobei falsche Kandidaten aussortiert werden.
2.Geodatenbanken
52 / 69
Allgemeine
Datenbankeigenschaften
R-Raum - Punktsuche
Geodatenbanken
Räumlicher Index
Welche Bounding Boxes (BBs)
enthalten den Punkt P?
01
Beginne an der Wurzel
R11 02
03
07
R15
innere Knoten:
Durchsuche jeden Sohnknoten,
dessen BB P enthält
P
R13
04
08
05
R12
R14
10
09
06
Blattknoten:
Suche alle BBs, die P enthalten
15 16
Achtung:
Ggf. muss in mehreren Teilbäumen
gesucht werden!
2.Geodatenbanken
13 14
11 12
01 02 03
Fertig!
R16
04 06 09
05 07
08 10
Animation: klicken
53 / 69
Allgemeine
Datenbankeigenschaften
R-Baum - Bereichsanfrage
Geodatenbanken
Räumlicher Index
Welche BBs liegen im Rechteck
Q?
01
R11 02
Beginne an der Wurzel
03
07
R15
innere Knoten:
Suche in jedem Sohnknoten, dessen
DirBB das Rechteck Q schneidet
R13
04
08
05
R12
Q
R16
R14
10
09
06
15 16
Blattknoten:
Suche alle BBs, die Q schneiden
13 14
11 12
01 02 03
04 06 09
05 07
08 10
Animation: klicken
Fertig!
2.Geodatenbanken
54 / 69
Allgemeine
Datenbankeigenschaften
Quadtree
Geodatenbanken
Räumlicher Index
Räumlicher Index als Erweiterung von
Binärbäumen
• Zerlegung des Raumes und Schaffung einer
Zugriffsstruktur
•
0
NW
Baumartige Datenstruktur
NW
- jeder Knoten hat 0 oder 4 Nachfolger:
Nordwest
SW
NO
NW
NO
NW
NO
SOSW
SO
Nordost
Animation: 5x klicken
Südwest
Südost
- Blattknoten sind homogen
2.Geodatenbanken
SO
55 / 69
SW
NO
SO
SW
Allgemeine
Datenbankeigenschaften
Aufbau des Quadtree
Geodatenbanken
Räumlicher Index
Sukzessive Viertelung der Ebene in Unterquadrate,
abhängig von der Lage der gegebenen Objekte.
Speichergröße für ein Quadrat (Zelle) ist konstant (Größe
abhängig vom Speichermedium).
Aufteilung erfolgt, wenn Speichergröße für eine Zelle
überschritten wird.
- Gegeben:
Raum begrenzt durch Rechteck
- Einfügen
eines Objektes (Polygon)
- Einfügen
eines weiteren Objektes (Linie)
- Überschreitung
der vorgegebenen Speichergröße
Unterteilung in 4 Unterquadrate
- Einfügen
von weiteren Objekten und
weitere Aufteilung der Zellen
Animation: 4x klicken
2.Geodatenbanken
56 / 69
Allgemeine
Datenbankeigenschaften
Q-Tree: Beispiel
Geodatenbanken
Räumlicher Index
Gegeben: P1 (x1, y1)
Gesucht: Unterquadrat mit P1
0
1.) liegt P1 in 1, 2, 3, oder 4;
Ergebnis: 4
1
1
3.) liegt P1 in 421, 422, 423 oder 424;
Ergebnis: 422
2.Geodatenbanken
421
421 422
41 424 423
42
4
44
43
3
41
2
P1
2.) liegt P1 in 41, 42, 43 oder 44;
Ergebnis: 42
2
3
Animation: klicken
57 / 69
4
42
422
43
423
44
424
Weitere Quadtree- Anwendungen
Allgemeine
Datenbankeigenschaften
Geodatenbanken
Räumlicher Index
Räumliche Operatoren
Das Quadtree- Verfahren
wird auch für die effiziente
Verwaltung von Rasterdaten
verwendet (Pixeldaten).
Reduktion von Speicherplatz
Quadtree- Zerlegung von
flächenhaften Objekten
(aus: Bill u. Fritsch, 1994)
2.Geodatenbanken
58 / 69
Allgemeine
Datenbankeigenschaften
Zusammenfassung
Geodatenbanken
Räumlicher Index
•
Räumliche Indizes
(Zugriffsstrukturen) haben hohe
Bedeutung in der Geoinformatik.
•
Quadtree und R-Tree sind sehr
verbreitet.
•
Weitere Verfahren:
Räumliche Operatoren
- Grid file
- R*-Tree
- ...
2.Geodatenbanken
59 / 69
Räumliche Operatoren
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Räumliche Operatoren
- Motivation
- Geometrische Operatoren
- Topologische Operatoren
- Beispiele für
- Übersicht topologische Operatoren nach Egenhofer
- Verwendung in SQL
2.Geodatenbanken
60 / 69
Allgemeine
Datenbankeigenschaften
Geometrische Operatoren
STArea
STAsBinary
STAsText
STBoundary
STBuffer
STCentroid
STContains
STConvexHull
STCrosses
STDifference
STDimension
STDisjoint
STDistance
STEndpoint
STEnvelope
STEquals
STExteriorRing
STNumInteriorRing
STGeometryN
STNumPoints
STGeometryType
STOverlaps
STInteriorRingN
STPointN
STIntersection
STPointOnSurface
STIntersects
STRelate
STIsClosed
STSrid
STIsEmpty
STStartPoint
STIsRing
STSymDifference
STIsSimple
STTouches
STIsValid
STUnion
STLength
STWithin
STNumGeometries
STX, STY
2.Geodatenbanken
-> in den GIS Produkten proprietär realisiert
61 / 69
Geometrische
Zugriffsstrukturen
Räumliche Operatoren
Allgemeine
Datenbankeigenschaften
Geometrische Operatoren
Geometrische
Zugriffsstrukturen
Beispiele:
Räumliche Operatoren
STArea (id1):
Liefert die Fläche eines zweidimensionalen Spatial-Objekts (einer
Fläche). Die Einheit hängt von der SRID ab und ist bei SRID 4326
‚Quadratmeter’.
STDistance(id1,id2)
Liefert die Entfernung (Luftlinie) zweier Spatial-Objekte. Wie die
Fläche ist die Einheit auch von der SRID abhängig. Ist diese
4326, so ist dies Meter.
…
2.Geodatenbanken
-> in den GIS Produkten proprietär realisiert
62 / 69
Topologische Operatoren und deren Definition
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Räumliche Operatoren
- Motivation
- Topologische Operatoren
- Beispiele für topologische Operatoren (1)
- Beispiele für topologische Operatoren (2)
- Verwendung in SQL
2.Geodatenbanken
63 / 69
Allgemeine
Datenbankeigenschaften
Motivation
Geometrische
Zugriffsstrukturen
Räumliche Operatoren
Vektortopologien in Geodatenbanken ermöglichen
raumbezogene Anfragen.
Beispiel Schemaplan:
Wie komme ich mit öffentlichen
Verkehrsmitteln von Ort A nach
Ort B? Dabei werden Bahnstrecken
als Kanten und Haltestellen als
Knoten in Beziehung gesetzt.
Die exakte geometrische Lage
ist hier zweitrangig.
Beispiel für eine topologische Darstellung
2.Geodatenbanken
64 / 69
Topologische Operatoren
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Topologische Operatoren
Mit Hilfe von Topologischen Operatoren werden die topologischen
Beziehungen von zwei gegebenen Objekten analysiert.
Gegeben: Objekt a, Objekt b
Anwendung eines topologischen Operators (TOi) auf Element a und
b:
TOi (a,b)  [True, false]
2.Geodatenbanken
65 / 69
Beispiele für Topologische Operatoren (1)
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Topologische Operatoren
Mit dem Operator „Overlap“
wird geprüft, ob sich zwei
Objekte überlappen.
Mit dem Operator “Disjoint”
wird geprüft, ob sich zwei
Objekte weder berühren
Noch überlappen
(also “disjoint” sind).
F = Fläche, L = Linie
2.Geodatenbanken
66 / 69
Beispiele für Topologische Operatoren (2)
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Topologische Operatoren
Mit dem Operator „Touch“
wird geprüft, ob sich
verschiedene Objekte
Berühren.
Mit dem Operator „In“ wird
geprüft, ob ein Objekt ein
anderes (vollständig) enthält.
2.Geodatenbanken
67 / 69
Übersicht topologische Operatoren nach Egenhofer
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Topologische Operatoren
x
x
x y
y
X disjoint y
y
y
X touch y
X equal y
x
x
x
X inside y
y
X contains y
y
x
y
x
y
X covers y
X coveredby y
2.Geodatenbanken
y
X overlaps y
Animation: 8 x klicken
68 / 69
Allgemeine
Datenbankeigenschaften
Verwendung in SQL
Geometrische
Zugriffsstrukturen
Topologische Operatoren
SQL Abfragestruktur
SELECT spaltenname
FROM tabellenname
[WHERE bedingung];
SQL Beispiel mit einfacher Bedingung:
SELECT autor, titel FROM buch
WHERE autor = „Schiller“;
Spatial SQL Beispiel:
SELECT Cities.shape, Cities.City_Name
FROM Cities, Countries
WHERE SDO_INSIDE( Cities.shape, Countries.shape ) = `TRUE`
AND Countries.Country_Name = `Germany`;
2.Geodatenbanken
69 / 69
Vielen Dank für die Aufmerksamkeit!
Weitere Fragen?
2.Geodatenbanken
70 / 69
Kontakt
Keine festen Sprechstunden, einfach vorbeikommen, oder besser vorher
anrufen, bzw. noch besser: email schreiben
Univ.-Prof. Dr.-Ing. Wolfgang Reinhardt
AGIS / Inst. Für Angewandte Informatik (INF4)
Universität der Bundeswehr München
D-85577 Neubiberg
Telefon +49 (0)89 6004-2450
Telefax +49 (0)89 6004-3906
[email protected]
www.agis.unibw.de
Geb 37/200 Raum 0208
2.Geodatenbanken
71 / 69
Herunterladen