Kurzer Überblick über die Verwendung von SQL bei ArcSDE-Geodatabases

Sie können SQL auch verwenden, um auf vorhandene Datasets und deren Eigenschaften zuzugreifen und sowohl versionierte als auch nicht versionierte Datasets in ArcSDE-Geodatabases zu bearbeiten.

Sie können SQL auch verwenden, um Tabellen zu erstellen, die bei ArcSDE und der Geodatabase registriert werden können. Diese Tabellen können räumliche SQL- oder Raster-Typen enthalten, oder die Tabellen können nur nicht räumliche Attribute enthalten.

Wenn Sie mit SQL auf eine Geodatabase zugreifen, greifen Sie auf der Ebene des Datenbankmanagementsystems (DBMS) darauf zu. Das bedeutet, dass Verhaltensweisen und Funktionen, die von ArcSDE, der Geodatabase oder ArcGIS-Clients erzwungen wurden, nicht erzwungen werden, wenn Sie SQL verwenden.

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 Verhaltenweisen von Geodatabases beteiligt sind. Weitere Informationen finden Sie unter Welcher Datentyp kann mit SQL bearbeitet werden?

Wenn das DBMS einen Client erfordert, um auf die Datenbank zuzugreifen, müssen Sie außerdem den DBSM-Client installieren und konfigurieren, bevor Sie direkt eine Verbindung mit der Datenbank herstellen können.

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 ArcSDE-Geodatabases abfragen, müssen Sie Multiversioned Views verwenden.

Multiversioned Views enthalten Datenbanksichten, gespeicherte Prozeduren, Trigger und Funktionen für den Zugriff auf eine bestimmte Version der Daten in einer Geodatabase-Tabelle mithilfe von SQL (Structured Query Language).

Wenn eine Multiversioned View auf ein versioniertes Dataset zugreift, 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. 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.

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.

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.

Mithilfe von SQL können sowohl versionierte als auch nicht versionierte Datasets in ArcSDE-Geodatabases gespeichert werden. Sie sollten jedoch keine Datasets bearbeiten, die an der Geodatabase-Funktionalität beteiligt sind, wie zuvor in diesem Thema bereits erwähnt.

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.

Zur Bearbeitung von versionierten Daten müssen Sie Multiversioned Views verwenden. Dadurch wird sichergestellt, dass die Einfügungen während der Bearbeitung in die Delta-Tabellen erfolgen. Durch Mulitversioned Views werden in die Objekt-ID-Felder auch automatisch Einzelwerte 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 die Tabellen die Geodatabase-Funktionalität verwenden sollen, registrieren Sie die Tabelle bei ArcSDE und der Geodatabase. Bedenken Sie aber, dass Sie die Tabellen nicht mehr mit SQL bearbeiten können, wenn diese die Geodatabase-Funktionalität verwenden.

Anweisungen finden Sie unter Beispiel: Registrieren einer Tabelle mit einer "ST_Geometry"-Spalte bei ArcSDE, Beispiel: Registrieren eines Layers in der Geodatabase und Workflow: Erstellen von Tabellen mit SQL und Registrieren bei ArcSDE und der Geodatabase.

Verwandte Themen


3/6/2012