Sie können mithilfe von SQL (Structured Query Language) auf vorhandene Datasets und deren Eigenschaften zugreifen und sowohl (traditionell) versionierte als auch nicht versionierte Datasets in Enterprise-Geodatabases bearbeiten.
Sie können mithilfe von SQL auch Tabellen erstellen, die bei der Geodatabase registriert werden können. Diese Tabellen können nicht räumliche Attribute und räumliche SQL- oder Raster-Typen enthalten.
Wenn Sie mit SQL auf eine Geodatabase zugreifen, greifen Sie auf der Ebene des Datenbankmanagementsystems darauf zu. Das bedeutet, dass Verhaltensweisen und Funktionalität, die von ArcGIS durchgesetzt werden, nicht durchgesetzt werden, wenn Sie SQL verwenden. Wenn Sie daher SQL-Befehle für Befehle in der Geodatabase ausführen, können Sie Daten und Informationen zu Daten anzeigen, Sie sollten aber keine Daten ändern, die an Verhaltensweisen von Geodatabases beteiligt sind. Unter Welcher Datentyp kann mit SQL bearbeitet werden? finden Sie weitere Informationen.
Zugreifen auf Dataset-Eigenschaften
Sie können die Eigenschaften vorhandener Datasets in Enterprise-Geodatabases mithilfe von SQL-SELECT-Anweisungen abrufen.
Dataset-Eigenschaften werden in den Geodatabase-Systemtabellen gespeichert. Um diese Informationen abzurufen, fragen Sie bestimmte Spalten in den Systemtabellen ab. In einigen Fällen enthalten diese Spalten XML-Dokumente, die Sie mit XPath-Ausdrücken abfragen, um die Eigenschaftsinformationen abzurufen. Dies gilt für Geodatabases, die in IBM Db2-, PostgreSQL- und Microsoft SQL Server-Datenbanken gespeichert sind. Für Geodatabases in Oracle können Sie auf Systemsichten zugreifen, um den Nur-Text in einer CLOB-Spalte zu lesen.
Zugreifen auf Geodatabase-Daten
Sie können Daten aus vorhandenen Datasets in Geodatabases mithilfe von SQL-SELECT-Anweisungen zurückgeben. Wenn Sie versionierte Datasets in Enterprise-Geodatabases abfragen, müssen Sie versionierte Sichten verwenden.
Versionierte Sichten enthalten Datenbanksichten sowie gespeicherte Prozeduren, Trigger und Funktionen, sodass Sie versionierte Daten in einer Geodatabase-Tabelle oder Feature-Class mithilfe von SQL lesen können. Wenn über eine versionierte Sicht auf ein versioniertes Dataset zugegriffen wird, werden alle Datensätze in der Business-Tabelle ausgewählt und mit Datensätzen aus den Delta-Tabellen zusammengeführt. Daraus entsteht eine Sicht, die alle Änderungen an der Business-Tabelle im Kontext der angegebenen Version enthält.
Um auf einfache räumliche Daten mit SQL zuzugreifen und diese zu analysieren, verwenden Sie die räumlichen SQL-Funktionen, die mit dem räumlichen Datentyp installiert werden. Jeder räumliche Datentyp verfügt über einen eigenen Satz von Funktionen. Für den eigenen ST_Geometry-Typ hat Esri Funktionen in Oracle und PostgreSQL definiert. Ferner hat jeder Datenbankanbieter Funktionen für eigene SQL-Typen definiert. Mit diesen Funktionen werden räumliche Beziehungen ausgewertet, räumliche Operationen ausgeführt und räumliche Eigenschaften zurückgegeben und festgelegt.
Bearbeiten von Geodatabase-Daten
Sie können das native SQL des Datenbankmanagementsystems verwenden, um die einfachen, nicht räumlichen Attributdaten in der Geodatabase zu bearbeiten. Sie können auch die räumlichen SQL-Funktionen verwenden, die mit räumlichen Datentypen installiert werden, um einfache räumliche Daten mit SQL zu ändern.
Sie können mithilfe von SQL sowohl versionierte als auch nicht versionierte Datasets in Enterprise-Geodatabases bearbeiten. Wie jedoch bereits zuvor erwähnt, sollten Sie keine Datasets bearbeiten, die an der Geodatabase-Funktionalität beteiligt sind.
Wenn Sie nicht versionierte Daten bearbeiten, müssen Sie mit von Esri bereitgestellten Funktionen und SQL Einzelwerte in die Felder für die ObjectID, die GUID und die Global-ID einfügen.
Zum Bearbeiten von versionierten Daten müssen Sie versionierte Sichten verwenden. Die von den versionierten Sichten verwendeten Trigger aktualisieren die Delta-Tabellen, wenn Sie die Bearbeitung über eine versionierte Sicht durchführen. Dadurch wird sichergestellt, dass während des Bearbeitens die Einfügungen bei den Deltatabellen gemacht werden. Mit versionierten Sichten werden auch automatisch Einzelwerte in ObjectID-Feldern eingefügt.
Erstellen von Tabellen zur Verwendung mit ArcGIS
Sie können das native SQL des Datenbankmanagementsystems verwenden, um Tabellen zu erstellen und aufzufüllen. Sowohl räumliche als auch nicht räumliche Tabellen, die Sie mit SQL erstellen, können mit ArcMap und ArcGIS Pro verwendet werden. Die Attribute in räumlichen und nicht räumlichen Tabellen können auch direkt in ArcGIS angezeigt werden. Sowohl die Abfrage-Layer als auch die Möglichkeit des direkten Zugriffs auf Tabellen ist hilfreich, wenn Sie Tabellen haben, die mit einem anderen System an dem Standort funktionieren, und Sie auf diese Tabellen über ArcGIS zugreifen oder diese mit Tabellen in der Geodatabase verbinden möchten.
Wenn bei Tabellen die Geodatabase-Funktionalität verwendet werden soll, registrieren Sie die Tabelle bei der Geodatabase. Bedenken Sie jedoch, dass Tabellen jedoch nicht mehr mit SQL bearbeitet werden können, sobald die Geodatabase-Funktionalität verwendet wird.
Weitere Anweisungen finden Sie unter Workflow: Erstellen von Tabellen mit SQL und deren Registrierung bei der Geodatabase.