ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS Desktop

Ein vollständiges professionelles GIS

ArcGIS Enterprise

GIS in Ihrem Unternehmen

ArcGIS Developers

Werkzeuge zum Erstellen standortbezogener Apps

ArcGIS Solutions

Kostenlose Karten- und App-Vorlagen für Ihre Branche

ArcGIS Marketplace

Rufen Sie Apps und Daten für Ihre Organisation ab.

  • Dokumentation
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

ArcMap

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Daten verwalten
  • Werkzeuge
  • Erweiterungen

Beispiel: Erstellen von Datenbanksichten in Db2 mit SQL

  • Erteilen von Berechtigungen für die Tabellen
  • Erstellen einer Sicht zur Zugriffsbeschränkung
  • Erstellen einer Sicht zum Verbinden zweier Tabellen
  • Erteilen von Berechtigungen für die Sichten
Komplexität:
Einsteiger
Erforderliche Daten:
Eigene Daten verwenden

Mithilfe von SQL können Sie Sichten aus den Tabellen und Feature-Classes einer Enterprise-Geodatabase erstellen und anpassen, welche Spalten oder Datensätze Benutzer mit Anzeigeberechtigung sehen dürfen; des Weiteren können Sie in einer Sicht Informationen aus zwei Tabellen bzw. aus einer Feature-Class und einer Tabelle zusammenfassen. Wenn Sie in die Sichtdefinition die räumliche Spalte einbeziehen, können Benutzer die Features auf einer Karte in einem ArcGIS Desktop-Client anzeigen.

Mit den Beispielen in diesem Thema wird veranschaulicht, wie in einer IBM Db2-Datenbank Sichten erstellt werden. Mit einer Sicht wird der Benutzerzugriff auf bestimmte Spalten eingeschränkt. In der anderen Sicht werden Inhalte aus zwei verschiedenen Tabellen dargestellt. Die Beispiele basieren auf Tabellen mit den folgenden Definitionen:

Tabellendefinition für "employees"

CREATE TABLE employees(
 emp_id integer not null,
 name varchar(32), 
 department smallint not null,
 hire_date date not null
);

Tabellendefinition für "regions"

CREATE TABLE regions( objectid integer not null, emp_id integer not null, reg_id integer not null, rname varchar(32), region st_geometry 
);

Erteilen von Berechtigungen für die Tabellen

Wenn der Benutzer, der die Sicht erstellt, nicht der Besitzer der Tabellen ist, auf denen die Sicht basiert, muss der Tabellenbesitzer dem Ersteller der Sicht mindestens eine Berechtigung zur Auswahl aus den Tabellen erteilen.

In diesem Beispiel befinden sich die Tabellen, auf denen die Sicht basiert ("employees" und "regions"), im Besitz von Benutzer "gdb". Die Sicht wird durch den Benutzer "rocket" erstellt.

db2 => connect to testdb user gdb using gdb.dbg
   Database Connection Information
 Database server        = DB2 10.5.5
 SQL authorization ID   = GDB
 Local database alias   = TESTDB
db2 => GRANT SELECT 
 ON employees 
 TO USER rocket;
db2 => GRANT SELECT 
 ON regions 
 TO USER rocket;

Erstellen einer Sicht zur Zugriffsbeschränkung

In diesem Beispiel erstellt Benutzer "rocket" eine Sicht (view_dept_201) für die Tabelle "employees", um den Zugriff auf die Zeilen zu beschränken, deren Abteilung ("department") 201 ist:

db2 => connect to testdb user rocket using nopeeking
   Database Connection Information
 Database server        = DB2 10.5.5
 SQL authorization ID   = ROCKET
 Local database alias   = TESTDB
db2 => CREATE VIEW view_dept_201 
 AS SELECT emp_id, name, department, hire_date 
 FROM gdb.employees 
 WHERE department = 201;

Erstellen einer Sicht zum Verbinden zweier Tabellen

In diesem Beispiel wird mit der Sicht "emp_regions_view" eine Tabelle mit räumlichen Daten (Feature-Class) anhand der Spalte "emp_id" mit einer Tabelle mit nichträumlichen Daten zusammengeführt. Die Sicht enthält die Spalte "ObjectID", die räumliche Spalte (region) und den Namen der Region (rname) aus der Feature-Class "regions" sowie die Spalten "employee name" und "ID" aus der Tabelle "employees".

connect to testdb user gdb using gdb.dbg 
   Database Connection Information 
Database server      = DB2 10.5.5 
SQL authorization ID = GDB 
Local database alias = TESTDB
CREATE VIEW emp_regions_view 
 AS SELECT (e.emp_name,e.emp_id,r.objectid,r.rname,r.region)
 FROM employees e, regions r
 WHERE e.emp_id = r.emp_id;

Erteilen von Berechtigungen für die Sichten

Sie können bestimmten Benutzern Berechtigungen für die Sichten erteilen, ohne den Benutzern Zugriff auf die Basistabellen ("employees" und "regions") zu erteilen. In diesem Beispiel erhält der Benutzer "dispatch_mgr" eine SELECT-Berechtigung für beide Sichten:

db2 => connect to testdb user rocket using nopeeking
   Database Connection Information
 Database server        = DB2 10.5.5
 SQL authorization ID   = ROCKET
 Local database alias   = TESTDB
db2 => GRANT SELECT 
 ON rocket.view_dept_201 
 TO USER dispatch_mgr;
db2 => GRANT SELECT
 ON rocket.emp_region_view
 TO USER dispatch_mgr;

Der Benutzer "dispatch_mgr" hat nun Zugriff auf die Sicht "view_dept_201" und kann die Datensätze aller Mitarbeiter der Abteilung 201 sehen; über eine Datenbankverbindung in ArcMap oder ArcGIS Pro hat er Zugriff auf die Sicht "emp_region_view", in der er alle Regionen sehen kann. Wenn der Benutzer "dispatch_mgr" in der Sicht eine Abfrage auf eine Region durchführt, gibt ArcGIS den Namen der Region sowie die Namen und die IDs aller Mitarbeiter in dieser Region zurück.

ArcGIS Desktop

  • Startseite
  • Dokumentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Wir sind an Ihrer Meinung interessiert.
Copyright © 2021 Esri. | Datenschutz | Rechtliches