Die Aufgaben eines Geoinformationssystems werden oft als die Erfassung, Verwaltung,
Analyse und Visualisierung von Geodaten dargestellt. Für die Verwaltung von Geodaten
kommen heutzutage oft Datenbanken zum Einsatz. Das liegt daran, dass
eine Datenbank mehrere Vorteile mit sich bringt im Vergleich zu einem traditionellen
Dateiensystem. In einer Datenbank werden die Daten zu einem bestimmten Thema zentral und strukturiert
gespeichert. Ein Datenbanksystem besteht aus einem Datenbankmanagementsystem
(DBMS) und einer oder mehrere Datenbanken. Die Datenbanken sind die gespeicherten
Daten, während das DBMS ein Programmpaket ist, das die Daten verwaltet. Zur Abfrage
und Verwaltung der Daten stellt ein Datenbanksystem eine Datenbanksprache zur
Verfügung. Jede Datenbank basiert auf einem Datenbankmodell, das die Struktur von
Daten und deren Beziehungen untereinander beschreibt. Das Datenbankmodell wird durch
die DBMS-Hersteller festgelegt.
Geodaten stellen einige spezifische Anforderungen ans DBMS. Datenbanksysteme, die
die Speicherung von Geodaten und die Bearbeitung räumlicher Anfragen in hinreichender
Weise unterstützen, werden räumliche Datenbanksysteme oder auch Geodatenbanksysteme
genannt (Brinkhoff, 2008). Auf der einen Seite müssen die Geodatenbanken die Geometrie
speichern können, auf der anderen Seite müssen die auch geographische Funktionen, die
von geographischen Datentypen abhängig sind, unterstützen, z.B. Distanz und Fläche zu
berechnen.
Inhaltsverzeichnis
1. Einführung
2. Datenbank - Allgemeines
2.1 Aufbau von Datenbanksystemen
2.2 Konzepte von Datenbanksystemen
2.3 Verschiedene Datenbankmodelle
2.3.1 Relationales Datenbankmodell
2.3.2 Objektorientiertes Datenbankmodell
2.3.3 Objektrelationales Datenbankmodell
2.3.4 Dokumentenorientierte Datenbank und NoSQL
3. Geodatenbank
3.1 Modellierung von Geodaten
3.2 Standards
3.2.1 Geometrieklassen im Simple-Feature-Access
3.2.2 Beschreibung von Geometrie im Simple-Feature-Access
3.2.3 Geometrische Methoden im Simple-Feature-Access
3.3 PostGIS
3.3.1 Verwaltung von Geometrien und räumlichen Bezugssystemen
3.3.2 Input und Output
3.3.3 Geometriespezifische Methoden
3.3.4 Transgeometrische Analyse
4. Zusammenfassung
Literatur
Abbildungsverzeichnis
Abbildung 1. Datenbanksystem in GIS
Abbildung 2. Konzept von Datenbanksystemen
Abbildung 3. Relationale Datenbank
Abbildung 4. Fremdschlüssel
Abbildung 5. Klassendiagramm
Tabellenverzeichnis
Tabelle 1. WKT für verschiedene Geometrietypen
Tabelle 2. Geometrieklassen und Methoden in PostGIS
1. Einführung
Die Aufgaben eines Geoinformationssystems werden oft als die Erfassung, Verwaltung, Analyse und Visualisierung von Geodaten dargestellt. Für die Verwaltung von Geodaten kommen heutzutage oft Datenbanken zum Einsatz (Abbildung 1). Das liegt daran, dass eine Datenbank mehrere Vorteile mit sich bringt im Vergleich zu einem traditionellen Dateiensystem.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 1. Datenbanksystem in GIS
In einer Datenbank werden die Daten zu einem bestimmten Thema zentral und strukturiert gespeichert. Ein Datenbanksystem besteht aus einem Datenbankmanagementsystem (DBMS) und einer oder mehrere Datenbanken. Die Datenbanken sind die gespeicherten Daten, während das DBMS ein Programmpaket ist, das die Daten verwaltet. Zur Abfrage und Verwaltung der Daten stellt ein Datenbanksystem eine Datenbanksprache zur Verfügung. Jede Datenbank basiert auf einem Datenbankmodell, das die Struktur von Daten und deren Beziehungen untereinander beschreibt. Das Datenbankmodell wird durch die DBMS-Hersteller festgelegt.
Geodaten stellen einige spezifische Anforderungen ans DBMS. Datenbanksysteme, die die Speicherung von Geodaten und die Bearbeitung räumlicher Anfragen in hinreichender Weise unterstützen, werden räumliche Datenbanksysteme oder auch Geodatenbanksysteme genannt (Brinkhoff, 2008). Auf der einen Seite müssen die Geodatenbanken die Geometrie speichern können, auf der anderen Seite müssen die auch geographische Funktionen, die von geographischen Datentypen abhängig sind, unterstützen, z.B. Distanz und Fläche zu berechnen.
2. Datenbank - Allgemeines
2.1 Aufbau von Datenbanksystemen
Laut der Definition im Duden Informatik ist ein Datenbanksystem (DBS) ein System zur Beschreibung, Speicherung und Wiedergewinnung von Daten. Es besteht aus der Datenbank, die die Sammlung einheitlich beschriebener, persistent gespeicherter Daten auf dem Hintergrundspeicher darstellt, und dem Datenbankmanagementsystem (DBMS), der Software zur Beschreibung, Speicherung und Abfrage der Daten. Die Beschreibung beruht auf einem Datenbankmodell.
Auf dem Markt sind viele DBMS vorhanden. Gängige proprietäre DBMS sind unter anderem Oracle, Microsoft Access, IBM DB2. Außerdem finden Open-Source-DBMS wie MySQL und PostgreSQL auch immer mehr Anwendung.
Als Schnittstellen bieten Datenbanksysteme Datenbanksprachen an. Datenbanksprachen dienen u. a. zu den folgenden Zwecken:
-Definition von den Datenstrukturen in einer Datenbank, wie z.B. die Namen und Datentypen von Attributen
-Anlegen von neuen Datensätzen
-Änderungen oder Löschen vorhandener Datensätze
-Anfrage nach Daten unter bestimmten Bedingungen
-Transaktionen endgültig oder rückgängig machen
Bei den relationalen DBMS sind diese Kategorien in einer Sprache vereint, nämlich SQL, bei anderen Systemen existiert aber durchaus eine Trennung in Form unterschiedlicher Sprachen (Wikipedia, 2013).
2.2 Konzepte von Datenbanksystemen
Das Grundkonzept von Datenbanken liegt darin, eine neue Schicht zwischen den Anwendungen und den Daten zu schaffen. Dabei greift eine Anwendung nicht mehr direkt auf die Daten zu, sondern durch diese neue Schicht, nämlich das Datenbankmanagementsystem (Abbildung 2).
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 2. Konzept von Datenbanksystemen
Das Datenbankmanagementsystem sollte u. a. folgende Ziele erreichen: Datenunabhängigkeit
Datenunabhängigkeit bedeutet, dass Änderungen hinsichtlich der Speicherung der Daten möglichst ohne Einfluss auf den Anwender oder das Anwendungsprogramm bleiben (Brinkhoff, 2008).
Hierbei sind logische Datenunabhängigkeit und physische Datenunabhängigkeit zu unterscheiden. Bei logischer Datenunabhängigkeit geht es um die Änderungen am Datenbankschema, z. B. Eigenschaften hinzuzufügen oder zu löschen. Bei der physischen Datenunabhängigkeit geht es um die Änderungen an Speicherung- und Zugriffsstruktur. Datenunabhängigkeit ist besonders wichtig für offene Geoinformationssysteme, denn dort kommunizieren nicht nur GIS-Anwendungen mit den Daten.
-Datenintegrität
Unter Datenintegrität versteht man die Korrektheit der gespeicherten Daten. Beispielsweise muss das Geburtsdatum der Form von einem Datum entsprechen. Oder die Gebäude dürfen sich nicht überlappen. Diese Regeln können als Integritätsbedingungen definiert werden. Das DBMS wird überprüfen, ob die Änderungen diese Bedingungen erfüllen. Die Änderungen, die den Integritätsbedingungen widersprechen, werden von den Datenbanksystemen nicht angenommen.
Zentrale Datenspeicherung mit gesichertem Mehrbenutzerbetrieb In einem Datenbanksystem werden die Daten zentral auf einem Server gespeichert, und alle Benutzer können damit auf den aktuellsten Datenbestand zugreifen. Diese zentrale Datenhaltung könnte nicht nur das Umkopieren zwischen den Benutzern ersparen, sondern auch die Datenredundanz deutlich reduzieren.
Allerdings muss sichergestellt werden, dass bei parallelen Zugriffen keine Konflikte oder Widersprüche vorkommen. Dafür ist das Transaktionskonzept verantwortlich. Eine Transaktion ist eine Folge von Aktionen, bei denen die Datenbank von einem konsistenten Zustand in einen neuen konsistenten Zustand überführt wird (Brinkhoff, 2008). Ein klassisches Beispiel dafür ist die Geldüberweisung, die aus einer Abbuchung von einem Konto und einer Hinzubuchung auf ein anderes Konto besteht. Stürzt das System inzwischen ab, und zwar genau nach der Abbuchung aber vor der Hinzubuchung, dann wird die Abbuchung auch rückgängig gemacht.
-Effiziente Anfragebearbeitung
Effiziente Anfragebearbeitung bedeutet, die Daten, die bestimmte Anfragebedingungen erfüllen, effizient zu finden, ohne die ganze Datenbank durchsuchen zu müssen. Das wird durch den Index gewährleistet. Ein Index ist ein dynamisches Inhaltsverzeichnis, das die schnelle Suche nach Datenbankblöcken mit den Datensätzen unterstützt, die die Anfragebedingung erfüllen (FerGI, 2013). Hier kann man eine Datenbank mit einer Bibliothek vergleichen. Die Funktion, die der Index in der Datenbank hat, ist ähnlich wie eine Signatur in der Bibliothek.
In einer relationalen Datenbank könnte der Index ein Attribut oder eine Kombination von mehreren Attributen sein. Aber die Aktualisierung und Speicherung eines Indexes verlangt sowohl Rechenzeit als auch Speicherplatz. Man muss vorher abwägen, ob es sich lohnt, ein Attribut als Index zu speichern. Kriterien dafür sind u. a.:
1) Dieses Attribut dient oft als eine Anfragebedingung;
2) Nur eine Minderheit von den Datensätzen erfüllt diese Bedingung.
-Benutzerverwaltung
Ein Datenbanksystem ermöglicht auch eine fein gesteuerte Benutzerverwaltung. Auf der einen Seite wird unberechtigter Zugriff auf eine Datenbank abgelehnt.
[...]