Skip To Content

Die Architektur einer Geodatabase

Das Geodatabase-Speichermodell basiert auf einer Reihe von einfachen, jedoch äußerst wichtigen relationalen Datenbankkonzepten und nutzt die Stärken des zugrunde liegenden Datenbankmanagementsystems (DBMS). Einfache Tabellen und gut definierte Attributtypen werden zum Speichern des Schemas, der Regel, der Basis und der räumlichen Attributdaten für die einzelnen geographischen Datasets verwendet. Dieser Ansatz liefert ein formales Modell zum Speichern und Arbeiten mit Daten. Über diesen Ansatz kann SQL (Structured Query Language) zum Erstellen, Ändern und Abfragen von Tabellen und deren Datenelementen verwendet werden.

Sehen Sie sich an, wie dies funktioniert, indem Sie untersuchen, wie ein Feature mit Polygon-Geometrie in der Geodatabase modelliert wird. Eine Feature-Class wird als Tabelle gespeichert, die häufig als Basis- oder Business-Tabelle bezeichnet wird. Jede Zeile in der Tabelle steht für ein Feature. In der Shape-Spalte ist die Polygon-Geometrie für jedes Feature gespeichert. Auf den Inhalt dieser Tabelle, einschließlich des Shapes, wenn dieses als räumlicher SQL-Typ gespeichert wird, kann über SQL zugegriffen werden.

Beispiel für eine Business-Tabelle mit Polygon-Feature-Class

Das Hinzufügen von räumlichen Typen und SQL-Unterstützung für räumliche Attribute in einem DBMS ist allein jedoch nicht ausreichend, um ein GIS zu unterstützen. Bei ArcGIS kommt eine mehrschichtige Anwendungsarchitektur zum Einsatz, die eine Anwendungsschicht mit erweiterter Logik und erweitertem Verhalten und darunter ein Geodatabase-Speichermodell umfasst. Diese Anwendungslogik unterstützt eine Reihe von GIS-Datenobjekten und -Verhalten, z. B. Feature-Classes, Raster-Datasets, Topologien, Netzwerke und viele mehr.

Die Geodatabase ist objektrelational

Die Geodatabase wird mit der gleichen mehrschichtigen Anwendungsarchitektur wie auch in anderen erweiterten DBMS-Anwendungen implementiert. Die Implementierung ist somit weder ungewöhnlich noch unüblich. Die mehrschichtige Architektur der Geodatabase wird manchmal auch als "objektrelationales Modell" bezeichnet. Die Geodatabase-Objekte werden als Zeilen in DBMS-Tabellen gespeichert, denen eine Identität zugeordnet ist, und das Verhalten wird über die Anwendungslogik der Geodatabase bereitgestellt. Aufgrund der Trennung der Anwendungslogik vom Speicher werden die unterschiedlichen DBMS und Datenformate unterstützt.

Geodatabase-Speichermodell in relationalen Datenbanken

Ein einfaches relationales Datenbankschema (eine Reihe von Standard-Datenbanktabellen, Spaltentypen, Indizes und anderen Datenbankobjekten) bildet die Grundlage der Geodatabase. Diese Schemainformationen werden in einer Sammlung von Geodatabase-Systemtabellen im DBMS beibehalten, mit der die Integrität und das Verhalten der geographischen Informationen definiert wird. Diese Tabellen werden entweder als Dateien auf dem Datenträger oder im Inhalt eines DBMS, z. B. Oracle, IBM Db2, PostgreSQL oder Microsoft SQL Server, gespeichert.

Gut definierte Spaltentypen werden zum Speichern von herkömmlichen tabellarischen Attributen verwendet. Wenn die Geodatabase innerhalb eines DBMS gespeichert wird, werden räumliche Darstellungen, die meistens durch Vektoren oder Raster dargestellt werden, im Allgemeinen mit einem räumlichen SQL-Typ gespeichert.

Innerhalb der Geodatabase gibt es zwei primäre Gruppen von Tabellen: Systemtabellen und benutzerdefinierte Tabellen.

  • Benutzerdefinierte Tabellen: Jedes Dataset in der Geodatabase wird in einer oder mehreren Tabellen gespeichert. Die benutzerdefinierten Tabellen werden zusammen mit den Systemtabellen zum Verwalten von Daten verwendet.
  • Systemtabellen: Die Geodatabase-Systemtabellen protokollieren den Inhalt jeder Geodatabase. Sie beschreiben im Wesentlichen das Geodatabase-Schema, das alle Dataset-Definitionen, Regeln und Beziehungen vorgibt. Diese Systemtabellen enthalten und verwalten alle Metadaten, die erforderlich sind, um Geodatabase-Eigenschaften, Datenvalidierungsregeln und Verhalten zu implementieren.

Die auf das Schema in der Geodatabase bezogenen Informationen werden in vier Haupttabellen gespeichert:

  • GDB_Items: Enthält eine Auflistung aller Elemente, die in einer Geodatabase enthalten sind, z. B. Feature-Classes, Topologien und Domänen.
  • GDB_ItemTypes: Enthält eine vordefinierte Liste erkannter Elementtypen, z. B. Tabelle.
  • GDB_ItemRelationships: Enthält Schemaverknüpfungen zwischen Elementen, z. B. welche Feature-Classes in einem Feature-Dataset enthalten sind.
  • GDB_ItemRelationshipTypes: Enthält eine vordefinierte Liste erkannter Beziehungstypen, z. B. DatasetInFeatureDataset.

Die benutzerdefinierten Tabellen und die Systemtabellen arbeiten zusammen, um den Inhalt einer Geodatabase darzustellen und zu verwalten. Wenn eine Feature-Class beispielsweise in der Datenbank angezeigt wird, handelt es sich einfach um eine Tabelle mit einer räumlichen Spalte. Alle in den Systemtabellen gespeicherten Regeln werden bei Zugriff über ArcGIS jedoch mit den zugrunde liegenden Daten kombiniert, um diese als Feature-Class mit dem gesamten definierten Verhalten darzustellen.