Es gibt vier Arten von Sichten, die Sie in einer Enterprise-Geodatabase verwenden können:
- Datenbanksichten (oder nicht räumliche Sichten)
- Räumliche Sichten
- Versionierte Sichten
- Archivsichten
Datenbanksichten
Bei Datenbanksichten handelt es sich um gespeicherte Abfragen, mit denen Daten aus bestimmten nicht versionierten, nicht räumlichen Tabellen ausgewählt werden. Sie können Sichten auf Datenbank- oder Enterprise-Geodatabase-Tabellen definieren. Im Zusammenhang mit Enterprise-Geodatabases können Datenbanksichten für eine einzelne nicht versionierte Tabelle oder zwischen zwei nicht versionierten Tabellen definiert werden. Sie können auch komplexere Sichten erstellen, die Unterabfragen enthalten oder mehrere Datenbanken umfassen.
Einige Gründe für die Verwendung von Datenbanksichten:
- Mit Sichten können Teilmengen von Zeilen oder Spalten in einem vordefinierten Format bereitgestellt werden. Dies reduziert die von der Datenbank zum Client übertragene Datenmenge, wodurch die Performance verbessert wird.
- Häufig verwendete Abfragen können in der Datenbank festgeschrieben und für mehrere Benutzer verfügbar gemacht werden. Auf diese Weise müssen Benutzer weniger eigene komplexe Abfragen erstellen.
- In Sichten können Daten aus mehreren Business-Tabellen oder anderen Sichten zusammengeführt werden.
- Sie können Funktionen zur Zusammenfassung von Daten in Sichten verwenden. Dies reduziert ebenfalls die von der Datenbank zum Client übertragene Datenmenge, wodurch die Performance verbessert wird.
- Sie können Benutzern SELECT-Berechtigungen für Sichten auf die gleiche Weise wie für Tabellen erteilen. So können Sie mit Sichten außerdem den Zugriff auf Zeilen und Spalten in Business-Tabellen steuern.
Sie können das Werkzeug Datenbanksicht erstellen oder das Kontextmenü der Datenbank in ArcGIS for Desktop verwenden, um eine Datenbanksicht zu erstellen. Sie haben auch die Möglichkeit, das native SQL Ihres Datenbankmanagementsystems (DBMS) zu verwenden.
Sichten sind als Objekte in der Datenbank vorhanden und werden nicht bei der Geodatabase registriert. Änderungen, die am Schema der zugrunde liegenden Tabelle(n) vorgenommen werden, werden in der Sicht nicht wiedergegeben. Um zusätzliche Spalten in eine Sicht einzuschließen, müssen Sie die Sicht neu mit diesen Spalten definieren.
Zum Erstellen einer Sicht müssen den Benutzern spezifische Berechtigungen zugewiesen sein: In Oracle- oder SQL Server-Datenbanken müssen ihnen z. B. CREATE VIEW-Berechtigungen erteilt werden. Wenn Sie eine Sicht für eine Feature-Class oder Tabelle erstellen, deren Besitzer nicht Sie sind, können Sie bei einigen Datenbankmanagementsystemen (DBMS) anderen Benutzern nur Rechte für die Sicht erteilen, wenn Ihnen vom Besitzer der zugrunde liegenden Tabellen entsprechende Berechtigungen erteilt wurden.
Wenn Sie eine Sicht für ein versioniertes Dataset erstellen, wird nur die (grundlegende) Business-Tabelle angezeigt, nicht jedoch die Änderungen in den Delta-Tabellen. Um die Änderungen in den Delta-Tabellen anzuzeigen, erstellen Sie stattdessen eine versionierte Sicht für die Business-Tabelle.
Beachten Sie, dass es nicht möglich ist, Daten über eine Datenbanksicht in ArcMap oder einen ArcGIS-Feature-Service zu bearbeiten.
Räumliche Sichten
Räumlichen Sichten sind Datenbanksichten, die eine einzelne räumliche Spalte enthalten.
Zusätzlich zu den oben aufgeführten Gründen für die Verwendung von Datenbanksichten gibt es weitere Gründe zum Erstellen von räumlichen Sichten:
- Sie können eine Feature-Class mit einer nicht räumlichen Tabelle verbinden, wenn Sie eine räumliche Sicht definieren, und so die Spalten aus beiden kombinieren.
- ArcGIS-Clients können nur mit Tabellen arbeiten, die eine räumliche Spalte enthalten. Zur Verwendung einer räumlichen Tabelle, die mehrere räumliche Spalten enthält, können Sie eine räumliche Sicht der Tabelle erstellen, die nur eine räumliche Spalte aus der Tabelle enthält.
- ArcGIS-Clients können nur mit Tabellen arbeiten, die einen Raumbezug verwenden. Falls Ihre Tabelle mehrere Raumbezüge verwendet, können Sie eine Sicht erstellen, die nur die Datensätze beinhaltet, die denselben Raumbezug verwenden.
Sie können das Werkzeug Datenbanksicht erstellen oder SQL verwenden, um eine räumliche Sicht zu erstellen, wenn Ihre Feature-Class einen SQL-Geometrietyp verwendet und die Feature-Class nicht als versioniert registriert ist. Um eine räumliche Sicht zu erstellen, fügen Sie die räumliche Spalte und die ObjectID der Feature-Class in die Sichtdefinition ein.
Wenn Sie eine räumliche Sicht erstellen, müssen Sie die ObjectID-Spalte einfügen, die aus derselben Tabelle stammen muss wie die räumliche Spalte. Wenn die ObjectID aus der Feature-Class nicht einbezogen wird, kann die eindeutige Beziehung zwischen ObjectID und Shape-Spalte verletzt werden und zu ungenauen Ergebnissen beim Abfragen oder beim Rendering in ArcGIS führen.
Wie bei anderen Datenbanksichten werden räumliche Sichten nicht bei der Geodatabase registriert.
Versionierte Sichten
Versionierte Sichten enthalten Datenbanksichten, gespeicherte Prozeduren, Trigger und Funktionen für das Aufrufen oder Bearbeiten einer bestimmten Version einer Tabelle oder Feature-Class in einer Geodatabase mithilfe von SQL.
Gründe für die Verwendung von versionierten Sichten:
- Mit versionierten Sichten können Sie die Änderungen anzeigen, die aktuell in den Deltatabellen der Tabelle gespeichert sind.
- Versionierte Sichten ermöglichen es Ihnen, versionierte Tabellen und Feature-Classes mit SQL zu bearbeiten.
Ab Version ArcGIS 10.1 werden versionierte Sichten automatisch für Tabellen und Feature-Classes erstellt, wenn Sie sie als versioniert registrieren. Wenn Sie über vorhandene versionierte Daten verfügen, können Sie eine versionierte Sicht erstellen, indem Sie mit der rechten Maustaste auf die versionierte Tabelle, die Feature-Class oder das Feature-Dataset im Kataloginhaltsverzeichnis von ArcGIS for Desktop klicken, auf Verwalten zeigen und auf SQL-Zugriff aktivieren klicken.
Versionierte Sichten funktionieren nur mit einer einzeln versionierten Tabelle oder Feature-Class. Sie können keine Where-Klausel verwenden, um mehrere Tabellen zu verbinden oder einzuschränken, welche Zeilen bzw. Spalten in einer versionierten Sicht enthalten sind.
Die hauptsächliche Verwendung von versionierten Sichten besteht in der Bearbeitung von versionierten Daten mit SQL. Sie können die zugrunde liegende Tabelle oder Feature-Class nicht durch eine versionierte Sicht anhand einer ArcGIS-Client-Anwendung bearbeiten. Die Tabelle oder Feature-Class, auf der die versionierte Sicht basiert, muss den ArcGIS-Anforderungen für das Bearbeiten von Geodatabase-Daten mit SQL entsprechen. Weitere Informationen finden Sie unter Welcher Datentyp kann mit SQL bearbeitet werden?
Archivsichten
Eine Archivsicht umfasst eine Datenbanksicht, die für eine nicht versionierte Tabelle oder Feature-Class mit aktivierter Archivierung definiert wurde. Archivsichten umfassen außerdem Trigger, die die Archivierungstabellen auf dem neuesten Stand halten, wenn Änderungen über die Archivsicht vorgenommen werden. Die Archivansicht wird erstellt, wenn Sie die Archivierung für das Dataset oder den SQL-Zugriff auf ein nicht versioniertes Dataset mit aktivierter Archivierung aktivieren.
Gründe für die Verwendung von Archivsichten:
- Archivsichten ermöglichen Ihnen die Anzeige von Daten in der Verlaufstabelle einer Tabelle mit aktivierter Archivierung.
- Archivsichten ermöglichen es Ihnen, SQL zum Bearbeiten von Tabellen und Features-Classes mit aktivierter Archivierung zu verwenden.
Archivsichten funktionieren nur mit einer einzelnen Tabelle oder Feature-Class. Sie können keine Where-Klausel verwenden, um mehrere Tabellen zu verbinden oder einzuschränken, welche Zeilen bzw. Spalten in einer Archivsicht enthalten sind.