Das Geodatabase-Speichermodell basiert auf einer Reihe von einfachen, jedoch äußerst wichtigen relationalen Datenbankkonzepten und nutzt die Stärken des zugrunde liegenden Datenbankmanagementsystems. 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) – eine Reihe relationaler Funktionen und Operatoren – 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.
Das Hinzufügen von räumlichen Typen und SQL-Unterstützung für räumliche Attribute in einer Datenbank allein ist 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 allgemeinen Datenobjekten und Verhalten für geographische Informationssysteme (GIS), z. B. Feature-Classes, Mosaik-Datasets, Topologien, Netzwerke und Replikation.
Die Geodatabase ist objektrelational
Die Geodatabase wird mit der gleichen mehrschichtigen Anwendungsarchitektur wie auch in anderen erweiterten Datenbankmanagementsystemanwendungen implementiert; an der Implementierung ist nichts ungewöhnliches oder unübliches zu finden. Die mehrschichtige Architektur der Geodatabase wird manchmal auch als "objektrelationales Modell" bezeichnet. Die Geodatabase-Objekte werden als Zeilen in Datenbanktabellen gespeichert, denen eine Identität zugeordnet ist. Das Verhalten wird über die Anwendungslogik der Geodatabase bereitgestellt. Aufgrund der Trennung der Anwendungslogik vom Speicher werden die unterschiedlichen Datenbankmanagementsysteme 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. Die Schemainformationen werden in einer Sammlung von Geodatabase-Systemtabellen in der Datenbank gespeichert, mit der die Integrität und das Verhalten der geographischen Informationen definiert wird.
Gut definierte Spaltentypen werden zum Speichern von herkömmlichen tabellarischen Attributen verwendet. Wenn die Geodatabase innerhalb eines Datenbankmanagementsystems gespeichert wird, werden räumliche Darstellungen, die meistens durch Vektoren oder Raster dargestellt werden, im Allgemeinen mit einem erweiterten räumlichen Datentyp gespeichert.
Innerhalb der Geodatabase gibt es zwei primäre Sätze von Tabellen: Systemtabellen und Dataset-Tabellen.
- Dataset-Tabellen: Jedes Dataset in der Geodatabase wird in einer oder mehreren Tabellen gespeichert. Die Dataset-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.
Das Dataset und die Systemtabellen arbeiten zusammen, um den Inhalt einer Geodatabase darzustellen und zu verwalten. Wenn eine Feature-Class beispielsweise im zugrunde liegenden Speicherformat angezeigt wird, handelt es sich 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.