Kurzer Überblick über Geodatabase-Systemtabellen

Die interne Struktur der Geodatabase wird als Reihe von einfachen Tabellen dargestellt, die als Geodatabase-Systemtabellen (die Tabellen mit dem Präfix "GDB_") bezeichnet werden und den Inhalt jeder Geodatabase verfolgen. Sie beschreiben im Wesentlichen das Geodatabase-Schema, das alle Definitionen, Regeln und Beziehungen zu Datasets vorgibt. Diese Systemtabellen enthalten und verwalten alle Metadaten, die erforderlich sind, um Geodatabase-Eigenschaften, Datenvalidierungsregeln und Verhalten zu implementieren.

Die interne Struktur dieser Tabellen wurde ab ArcGIS Version 10 umstrukturiert. Die mit dem Schema in der Geodatabase verknüpften Informationen, die vor ArcGIS Version 10 in über 35 Geodatabase-Systemtabellen gespeichert wurden, wurden in vier Haupttabellen konsolidiert:

Die Tabellen "GDB_Items" und "GDB_ItemRelationships" stellen das benutzerdefinierte Schema in einer bestimmten Geodatabase dar. Der Inhalt der Tabellen wird geändert, wenn das Schema der Geodatabase geändert wird. Die Tabellen "GDB_ItemTypes" und "GDB_ItemRelationshipTypes" sind statisch. Die Beziehungen zwischen diesen vier Tabellen werden in der folgenden Abbildung verdeutlicht:

Vier primäre Geodatabase-Systemtabellen

Die Tabelle "GDB_Items"

Eine Geodatabase ist ein Container für geographische und nicht geographische Elemente. Zu diesen Elementen gehören tabellarische Datasets, z. B. Feature-Classes und Tabellen, Dataset-Container, z. B. Feature-Datasets, Topologien und geometrische Netzwerke, Datasets, die erweiterte Geodatabase-Verhaltensweisen steuern, sowie andere Elemente z. B. Domänen, Toolboxes und Workspace-Erweiterungen. Ab ArcGIS 10 werden all diese Elemente in der Geodatabase in der Tabelle "GDB_Items" gespeichert, in der jedes Element als einzelne Zeile gespeichert wird.

Ein Element hat die folgenden Attribute:

Auf diese sieben Attribute werden Sie mit großer Wahrscheinlichkeit mit SQL zugreifen.

Die nächsten Attribute speichern Informationen aus der Definition eines Elements (z. B. der Geometrietyp einer Feature-Class), die außerhalb der XML-Definition dupliziert werden, um ein effizienteres Durchsuchen der Geodatabase zu ermöglichen. Beispiele für diese Attribute sind die Eigenschaften "Dataset-Subtype"und "Dataset-Informationen", deren Codes von dem Elementtyp abhängig sind.

Die Tabelle "GDB_ItemTypes"

Die Tabelle "GDB_ItemTypes" enthält den vordefinierten Satz erkannter Feldtypen in der Geodatabase. Feldtypen werden zur Normalisierung der Tabelle "GDB_Items" verwendet (der Typ eines Elements in der Tabelle "GDB_Items" wird als UUID dargestellt), um in der Zukunft eine bessere Unterstützung von Geodatabase-Funktionalitätserweiterungen zu ermöglichen und eine Typhierarchie zu definieren. Alle übergeordneten Typen sind abstrakt, daher sind übergeordnete Elemente auch nicht in der Tabelle "GDB_Items" zu finden.

Der Inhalt der Tabelle "GDB_ItemTypes" ist statisch; er wird nicht geändert, wenn Elemente erstellt oder gelöscht werden.

Ein Elementtyp hat die folgenden Attribute:

Die Tabelle "GDB_ItemRelationships"

Nahezu alle Geodatabase-Elemente haben Beziehungen zu mindestens einem anderem Geodatabase-Element. Eine Standalone-Tabelle ist beispielsweise mit dem Stammordner einer Geodatabase verbunden, eine Domäne ist mit den Feature-Classes oder Tabellen verbunden, die diese für die Validierung benötigen, und Feature-Classes sind mit der Topologie verbunden, an der sie teilnehmen. Die Tabelle "GDB_ItemRelationships" wird verwendet, um diese Beziehungen zu verfolgen.

Elementbeziehungen haben die folgenden Attribute:

Sie würden wahrscheinlich nur auf die ersten fünf Attribute mit SQL zugreifen.

TippTipp:

Es ist wichtig zu verstehen, dass eine Elementbeziehung nicht analog zu einer Beziehungsklasse ist. Jede Beziehungsklasse verfügt tatsächlich über Elementbeziehungen mit zwei Objektklassen (ihre Quell- und Zielklassen) sowie eine zusätzlichen Elementbeziehung mit ihrem Container (entweder der Stammordner der Geodatabase oder ein Feature-Dataset).

Die Tabelle "GDB_ItemRelationshipTypes"

Auf die gleiche Weise wie eine statische Sammlung von Elementtypen zum Klassifizieren von Elementen verwendet wird, wird eine statische Sammlung von Elementbeziehungstypen zur Klassifizierung von Elementbeziehungen verwendet. DatasetInFeatureDataset (durch das angegeben wird, dass eine Feature-Class, eine Beziehungsklasse oder ein Controller-Dataset innerhalb eines Feature-Datasets vorhanden ist) und DomainInDataset (durch das angegeben wird, dass ein Dataset eine Domäne zur Validierung auf Klassen- oder Subtype-Ebene verwendet) sind z. B. zwei Typen von Elementbeziehungen. Im Gegensatz zu Elementtypen haben Elementbeziehungstypen kein Hierarchiekonzept mit übergeordneten und untergeordneten Typen.

Elementbeziehungstypen haben die folgenden Attribute:

TippTipp:

Die Ursprungs- und Zielelementtyp-IDs sind häufig Kennungen abstrakter Elementtypen. Die Ursprungstyp-ID des DomainInDataset-Beziehungstyps ist z. B. Domäne, ein abstrakter Elementtyp mit zwei Subtypes: Bereichsdomäne und Domäne mit codierten Werten.

XML in Geodatabase-Systemtabellen

Wie in den Attributdefinitionen für die Geodatabase-Systemtabellen erwähnt, verwenden einige der Felder einen XML-Datentyp. In ArcSDE-Geodatabases in IBM DB2, Microsoft SQL Server und PostgreSQL verwenden diese Spalten das native XML des Datenbankmanagementsystems und können daher mit XPath-Ausdrücken über SQL abgefragt werden.

In Geodatabases in Oracle und Informix verwenden die XML-Spalten ArcSDE-XML, das Informationen als BLOBs in einer Reihe von separaten Tabellen speichert. Auf diese kann direkt mit SQL zugegriffen werden.

Damit Sie die Inhalte der XML-Spalten in den Systemtabellen in Geodatabases in Oracle anzeigen können, gibt es zwei Systemsichten, in denen die Inhalte aus den XML-Spalten der Geodatabase-Systemtabelle in einem CLOB-Datentyp gespeichert werden. "GDB_Items_vw" zeigt den Inhalt der Spalten "Definition", "Dokumentation" und "ItemInfo" in der Tabelle "GDB_Items" in CLOB-Spalten an. In "GDB_ItemRelationships_vw" wird der Inhalt der Spalte "Attribute" der Tabelle "GDB_ItemRelationships" in einer CLOB-Spalte angezeigt. Der Inhalt der CLOB-Spalten kann als Text gelesen werden.

Beim Abfragen dieser Sichten extrahieren Sie die Zeichenfolge aus der CLOB-Spalte, konvertieren Sie in den XML-Typ und führen eine XPath-Abfrage aus. Beachten Sie Folgendes: Wenn Sie versuchen, einen XML-Typ für eine Spalte zu erstellen, die eine leere Zeichenfolge enthält, schlägt der Vorgang fehl, und die Meldung "Fehler beim Parsen von XML-Datei" wird ausgegeben, da dies von Oracle nicht unterstützt wird.

Um die Inhalte der CLOB-Spalten abfragen zu können, müssen Sie den Oracle-Server so konfigurieren, dass SQL-Verbindungen unterstützt werden. Weitere Informationen finden Sie unter Konfigurieren des Oracle-Listeners für die Verwendung von SQL.

Verwandte Themen


3/6/2012