Kurzer Überblick über die Verwendung von SQL mit Enterprise-Geodatabases

Sie können mithilfe von SQL auf vorhandene Datasets und ihre Eigenschaften zugreifen und sowohl 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 (DBMS) darauf zu. Das bedeutet, dass Verhaltensweisen und Funktionalität, die von ArcGIS durchgesetzt werden, nicht durchgesetzt werden, wenn Sie SQL verwenden. Es bedeutet weiterhin, dass Sie den DBMS-Client auf den Computern installieren und konfigurieren müssen, von denen aus Sie direkt eine Verbindung mit der Datenbank herstellen.

Was SQL betrifft, greifen Sie auf die Tabellen in einer Datenbank zu. 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. Weitere Informationen finden Sie unter Welcher Datentyp kann mit SQL bearbeitet werden?.

Verwenden von SQL zum Zugreifen auf die Eigenschaften von Datasets

Sie können die Eigenschaften vorhandener Datasets in ArcSDE-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 Systemansichten zugreifen, um den Nur-Text in einer CLOB-Spalte zu lesen.

Verwenden von SQL zum Zugreifen auf Daten aus Geodatabases

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 Datenbankansichten 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 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 ST_Geometry-Typ des Unternehmens wurden von Esri Funktionen in Oracle und PostgreSQL definiert. Ferner hat jeder DBMS-Anbieter Funktionen für seine SQL-Typen definiert. Mit diesen Funktionen werden räumliche Beziehungen ausgewertet, räumliche Operationen ausgeführt und räumliche Eigenschaften zurückgegeben und festgelegt. Einen Überblick über diese Funktion finden Sie unter Räumliche Beziehungen, Räumlichen Operationen und Geometrieeigenschaften.

Bearbeiten von Geodatabase-Daten mit SQL

Sie können das native SQL des DBMS 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 mithilfe von SQL Einzelwerte in die Felder für die Objekt-ID, die GUID und die globale 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 Objekt-ID-Feldern eingefügt.

Erstellen von Tabellen mit SQL, die mit ArcGIS verwendet werden sollen

Sie können das native SQL des DBMS 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 verwendet werden. Sie können räumliche Tabellen in ArcMap rendern, indem Sie Abfrage-Layer erstellen. 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.

Anweisungen finden Sie unter Workflow: Erstellen von Tabellen mit SQL und Registrieren dieser bei der Geodatabase.

Verwandte Themen

9/12/2013