Das Geodatabase-Speichermodell basiert auf Datenbankmanagementsystem-Prinzipien und nutzt eine Reihe von einfachen und dennoch wesentlichen relationalen Datenbankkonzepten. Das Datenbankmanagementsystem (und das Dateisystem für File-Geodatabases) stellen ein einfaches, formales Datenmodell zum Speichern von und Arbeiten mit Informationen in Tabellen bereit.
Zu den wichtigsten Konzepten zählen folgende:
- Daten sind in Tabellen organisiert.
- Tabellen enthalten Zeilen.
- Alle Zeilen in einer Tabelle haben dieselben Spalten.
- Jede Spalte weist einen Typ auf, z. B. Integer, Dezimalzahl, Zeichen oder Datum.
- Beziehungen werden verwendet, um Zeilen in einer Tabelle mit Zeilen in einer anderen Tabelle zu verknüpfen. Dies basiert auf einer allgemeinen Spalte in jeder Tabelle.
- Für Tabellen sind relationale Integritätsregeln vorhanden. Beispielsweise verwendet jede Zeile dieselben Spalten, eine Domäne listet die gültigen Werte bzw. Wertebereiche für eine Spalte auf usw.
Für Enterprise-Geodatabases, die in relationalen Datenbanken gespeichert werden, gelten ebenfalls eine Reihe von zusätzlichen Funktionen:
- Structured Query Language (SQL), eine Reihe relationaler Funktionen und Operatoren, stehen zur Bearbeitung von Tabellen und ihren Datenelementen zur Verfügung.
- Die SQL-Operatoren sind für das Arbeiten mit generischen relationalen Datentypen konzipiert, z. B. ganzzahlige Werte, Dezimalzahlen, Daten und Zeichen.
Eine Feature-Class wird beispielsweise als Datenbankmanagementsystem-Tabelle gespeichert. Jede Zeile steht für ein Feature. Die Spalten in jeder Zeile stellen verschiedene Merkmale oder Eigenschaften des Features dar, und eine der Spalten enthält die Feature-Geometrie (z. B. Punkt-, Linien- oder Polygon-Koordinaten).
Der zum Speichern der Geometriedaten in einem Shape-Feld verwendete Spaltentyp ist je nach Datenbankmanagementsystem unterschiedlich, entspricht in der Regel jedoch einem erweiterten räumlichen Datentyp. Für alle Datenbankmanagementsystem, in denen ArcGIS Geodatabases unterstützt, ist mindestens ein räumlicher Typ zum Speichern von Features verfügbar. Die Verwendung räumlicher Typen bietet außerdem Unterstützung für den Zugriff auf Features mit SQL, was den Standards für räumliche Datentypen der International Organization for Standardization (ISO) und den Standards für Simple Features von Open Geospatial Consortium, Inc. (OGC) entspricht.
SQL kann für die Zeilen, Spalten und Typen in Tabellen verwendet werden. Die Datenbank verwaltet diese einfachen Datentypen und -tabellen, während zusätzliche Anwendungslogik in ArcGIS komplexeres Verhalten und Integritätsbeschränkungen implementiert.
Die Implementierung von komplexeren Objekten und von Verhalten in relationale Datenbankmanagementsysteme
Dazu schreiben Entwickler, die komplexere Objekte mit Verhalten und Logik implementieren möchten, Anwendungscode. Eine Organisation kann beispielsweise eine Mitarbeitertabelle folgendermaßen implementieren:
Nachname | Vorname | Einstellungsdatum | Gehalt |
---|---|---|---|
Brown | Ben | 10-10-2001 | $10,000.50 |
Jones | Betty | 14.06.1998 | $22,000.00 |
Smith | Jason | 08-23-1999 | $44,000.75 |
Bei der Mitarbeitertabelle handelt es sich um eine einfache relationale Datentabelle mit Zeilen und Spalte. Den Daten in jeder Spalte ist ein bestimmter Datentyp zugewiesen, z. B. Zeichen, Datum oder Zahl. Die Informationen werden in Datenbanken auf dieser Ebene verarbeitet.
Allein durch das Hinzufügen der Informationen zu einer Tabelle wird die Datenbank jedoch noch nicht zu einem System zur Verwaltung von Lohnbuchhaltung oder Personal. Durch das Hinzufügen einer Gehaltsspalte, die Zahlen mit zwei Dezimalstellen enthält, wird eine Datenbank nicht automatisch zu einem Abrechnungssystem. Hier ist komplexere Anwendungslogik erforderlich.
So können Sie beispielsweise Logik hinzufügen, um Mitarbeiteraktivitäten zu unterstützen, wie Einstellungen, Gehaltserhöhungen, Kündigungen, Beförderung und Bonusmanagement. Die für die Mitarbeiter und ihre Namen, Gehälter und Einstellungsdaten modellierten Objekte werden nicht als relationale Objekte implementiert. Zur Implementierung von Verhalten und Integrität für diese Objekte ist eine komplexere und präzisere Anwendungslogik erforderlich.
Ähnliche Objekte werden im GIS universell eingesetzt. Topologien, Netzwerke, lineare Referenzierungssysteme und Terrains sind Beispiele für die erweiterten Objekte, die verwendet werden, um die in der Datenbank gespeicherten einfachen räumlichen Repräsentationen mit GIS-Verhalten zu optimieren.
Wie auch bei anderen DBMS-Anwendungen reichen bei GIS-Anwendungen Tabellen mit räumlichen Spaltentypen allein nicht aus. Beide Objektsammlungen (die einfachen relationalen Spaltentypen in der Datenbank und die Geodatabase-Anwendungsobjekte wie Topologien) sind zur Erstellung von geographischen Informationssystemen erforderlich.
Implementierung der Anwendungslogik
Bei vielen Implementierungen von Datenbankmanagementsystemen hat sich deutlich gezeigt, dass die Verwendung einer separaten Anwendungsschicht für Zeilen- und Spaltentypen in Tabellen für fortschrittliche Anwendungen geeignet ist. Bei allen gängigen Kundeninformationssystemen (CIS), Enterprise Resource Planning-Systemen (ERP) und Abrechnungssystemen wird fortschrittliche Anwendungslogik in einer Anwendungsschicht implementiert, wodurch eine größere Offenheit und Erweiterbarkeit, höhere Performance und Flexibilität und eine größere Auswahl an Werkzeugen erzielt wird.
Die Benutzerinteraktion und die Ausführung von Transaktionen in diesen Systemen können bei fast allen Vorgängen über die Anwendungslogik erfolgen. SQL (Structured Query Language) muss nur für bestimmte Aktivitäten verwendet werden.
Des Weiteren kann durch die Trennung der Anwendungslogik von der Datenschicht dieselbe Logik auch auf DBMS-Systeme, Dateien, XML (Extensible Markup Language) und andere Speicheralternativen angewendet werden. Dadurch erhält die Architektur eine noch größere Offenheit. Die Geodatabase-Anwendungslogik in ArcGIS wird z. B. auch zum Lesen und Bearbeiten von geographischen Daten aus allen anderen Quellen verwendet – CAD-Daten, Shapefiles, MapInfo-Daten, Intergraph GeoMedia-Dateien und GML-Dateien (Geography Markup Language).
Andere Möglichkeiten zum Implementieren dieser komplexen Logik sind beispielsweise gespeicherte Prozeduren und Datenbank-Trigger im DBMS oder erweiterte Typen im DBMS.