Sie können mithilfe von SQL eine Sicht auf Tabellen und Feature-Classes in einer Enterprise-Geodatabase erstellen.
Anhand der Beispiele unter diesem Thema wird gezeigt, wie eine einfache Sicht in IBM Informix erstellt wird, um den Benutzerzugriff auf bestimmte Spalten einzuschränken. Das Beispiel basiert auf einer Tabelle mit der folgenden Definition:
CREATE TABLE employees(
emp_id integer not null,
name varchar(32),
department smallint not null,
hire_date datetime not null;
Erteilen von Berechtigungen für die Tabelle
Wenn der Benutzer, der die Sicht erstellt, nicht der Besitzer der Tabelle(n) ist, auf denen die Sicht basiert, muss der Tabellenbesitzer dem Ersteller der Sicht mindestens eine Berechtigung zur Auswahl aus der Tabelle erteilen.
In diesem Beispiel befindet sich die Tabelle, auf der die Sicht basiert (employees), im Besitz von Benutzer "gdb". Der Benutzer, der die Sicht erstellt, ist Benutzer "rocket".
GRANT SELECT
ON gdb.employees
TO rocket;
Erstellen von Sichten
In diesem Beispiel erstellt Benutzer "rocket" eine Sicht für die Tabelle "employees", um den Zugriff auf die Datensätze zu beschränken, deren Abteilung ("department") 201 ist:
CREATE VIEW view_dept_201
AS SELECT emp_id, name, department, hire_date
FROM gdb.employees
WHERE department = 201;
Erteilen von Berechtigungen für die Sicht
Sie können bestimmten Benutzern Berechtigungen für die Sicht erteilen, ohne den Benutzern Zugriff auf die Basistabelle (employees) zu erteilen. In diesem Beispiel erhält der Benutzer "mgr200" eine SELECT-Berechtigung für die Sicht "view_dept_201":
GRANT SELECT
ON rocket.view_dept_201
TO mgr200;
Testen der Berechtigungen
Melden Sie sich als "mgr200" an, und wählen Sie Datensätze aus "view_dept_201" aus:
SELECT * FROM rocket.view_dept_201;
emp_id name dept hire_date
112 LOLLI POP 201 06/30/2007
134 VAN CHIN 201 10/15/2007
150 DON GUN 201 03/01/2009
Wie erwartet werden nur Datensätze für Mitarbeiter in Abteilung 201 zurückgegeben.