Beispiel: Erstellen einer räumlichen Sicht in SQL Server mit SQL

Komplexität: Einsteiger Datenanforderung: Eigene Daten verwenden

Sie können SQL verwenden, um eine räumliche Sicht zu erstellen, indem Sie die räumliche Spalte in die Sichtdefinition einbinden. Dies bietet sich an, wenn Sie Features in ArcMap anzeigen möchten. Sie können auch eine räumliche Sicht erstellen, die Ihnen die Verwendung einer Tabelle mit mehreren räumlichen Spalten ermöglicht. Ihre räumliche Sicht würde nur eine räumliche Spalte enthalten, um sie mit ArcGIS verwenden zu können.

In diesem Beispiel wird eine räumliche Sicht erstellt, um Daten aus der Tabelle "employees" und der Feature-Class "region" zu verbinden.

Erstellen einer Sicht mit einer räumlichen Spalte

Definieren Sie die Sicht so, dass sie die räumliche Spalte und die ObjectID aus der Feature-Class zusammen mit anderen Attributspalten, die in der Sicht enthalten sein sollen, einschließt.

Da der Besitzer der Tabelle "employees" und der Feature-Class "region" der Benutzer "gdb" ist, verfügt der Benutzer bereits über die entsprechenden Berechtigungen zum Erstellen der Sicht.

TippTipp:

Zum Erstellen einer Sicht muss der Benutzer, zusätzlich zu der Berechtigung "CREATE VIEW" in der Datenbank, mindestens über SELECT-Berechtigungen für die einzelnen Tabellen bzw. Feature-Classes verfügen, die in die Sicht eingebunden sind.

USE testdb;

CREATE VIEW emp_region_view
AS SELECT (e.emp_name,e.emp_id,r.rname,r.reg_id,r.region) 
FROM employees e JOIN region r 
ON e.emp_id = r.emp_id;

GO

"reg_id" ist die Integer-Spalte "ObjectID" ohne NULL-Werte aus der Feature-Class "region". "Region" ist die räumliche Spalte aus der Feature-Class "region". Die Tabellen werden auf Grundlage der "emp_id"-Spalte verbunden.

Erteilen von Berechtigungen für die räumliche Sicht

Nachdem die Sicht erstellt wurde, erteilen Sie dem Domänenbenutzer "ptolemy" SELECT-Berechtigungen. Schließen Sie "WITH GRANT OPTION" ein, um dem Benutzer "ptolemy" zu ermöglichen, auch anderen Benutzern Berechtigungen für die Sicht zu erteilen.

USE testdb;

GRANT SELECT 
ON emp.region.view 
TO [ourdomain\ptolemy]
WITH GRANT OPTION;

GO
TippTipp:

Der Domänenbenutzer "ptolemy" muss der SQL Server-Instanz und der testdb-Datenbank hinzugefügt werden, damit Sie ihm Berechtigungen erteilen können.

5/9/2014