In Enterprise-Geodatabases werden Datenbanksichten, versionierte Sichten und Archivsichten unterstützt. Sie können Datenbanksichten bei der Geodatabase registrieren, um Metadaten und weitere Informationen zu den Sichten in Geodatabase-Systemtabellen zu speichern, oder die Sichten als Datenbankobjekte beibehalten.
Datenbanksichten
Bei Datenbanksichten handelt es sich um gespeicherte Abfragen, mit denen Daten aus bestimmten Tabellen ausgewählt werden. Sie können Sichten auf Datenbank- oder Enterprise-Geodatabase-Tabellen definieren, die nicht als versioniert registriert sind. 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.
In ArcGIS verwendete Sichten können nur eine räumliche Spalte enthalten. Ist eine räumliche Spalte enthalten, können diese Sichten als räumliche Sichten bezeichnet werden. Wenn Sie eine räumliche Sicht erstellen, muss die eingefügte Objekt-ID-Spalte aus derselben Tabelle stammen wie die räumliche Spalte. Wenn Sie die Objekt-ID aus der Feature-Class nicht einbeziehen, verletzt dies die eindeutige Beziehung zwischen Objekt-ID und Shape-Spalte und führt zu ungenauen Ergebnissen beim Abfragen und Rendern der Sicht in ArcGIS.
Die Daten in Datenbanksichten können Sie nicht über ArcGIS-Clients oder -Services bearbeiten.
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 verschiedenen 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 Tabellen steuern.
- Sie können eine Feature-Class mit einer nicht räumlichen Tabelle verbinden, wenn Sie eine Sicht definieren und dabei die Spalten aus beiden kombinieren.
- ArcGIS kann 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 kann 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 Geoverarbeitungswerkzeug Datenbanksicht erstellen oder das Kontextmenü der Datenbank verwenden, um eine Datenbanksicht zu erstellen. Sie haben auch die Möglichkeit, das native SQL Ihres Datenbankmanagementsystems zu verwenden.
Zum Erstellen einer Sicht müssen den Benutzern spezifische Datenbankberechtigungen zugewiesen sein: In Oracle- oder Microsoft 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 anderen Benutzern nur Rechte für die Sicht erteilen, wenn Ihnen vom Besitzer der zugrunde liegenden Tabellen entsprechende Berechtigungen erteilt wurden.
Beim Umgang mit Datenbanksichten ist Folgendes zu beachten:
- Sichten sind Objekte in der Datenbank und nicht in der Geodatabase registriert, selbst wenn Sie sie mithilfe des Werkzeugs Datenbanksicht erstellen für Geodatabase-Tabellen definieren.
- Änderungen, die am Schema der zugrunde liegenden Tabelle(n) vorgenommen werden, werden in der Sicht nicht wiedergegeben. Wenn Sie zusätzliche Spalten in eine Sicht einbeziehen möchten, müssen Sie die Sicht hierzu entsprechend neu definieren.
- In ArcGIS Desktop können Sie Daten nicht über eine Datenbanksicht bearbeiten.
- Sichten werden in ArcGIS Server-Feature-Services nicht unterstützt.
- Wenn Sie eine Sicht für eine Geodatabase-Tabelle oder Feature-Class erstellen, für die die traditionelle Versionierung verwendet wird, werden nur die Daten in der Basistabelle angezeigt, nicht jedoch die Änderungen in den Delta-Tabellen. Um die Änderungen über ArcGIS-Clients in einer Sicht anzuzeigen, müssen Sie die Änderungen in der Default-Version abgleichen und zurückschreiben sowie die Geodatabase komprimieren. Wenn die Änderungen in einer Sicht über SQL-, Dritt- oder benutzerdefinierte Clients angezeigt werden sollen, verwenden Sie die versionierte Sicht, die automatisch bei der Registrierung einer Geodatabase-Tabelle oder Feature-Class als versioniert erstellt wird.
- Soll Ihre Sichtdefinition eine räumliche Spalte enthalten, muss diese Spalte den SQL-Geometriedatentyp aufweisen. Außerdem darf die Feature-Class, aus der die räumliche Spalte stammt, nicht als versioniert registriert sein, und Sie müssen die Objekt-ID der Feature-Class, die die räumliche Spalte in der Sichtdefinition enthält, ebenfalls einbeziehen.
In der Geodatabase registrierte Sichten
Enthält Ihre Datenbank eine Geodatabase, können Sie mit dem Geoverarbeitungswerkzeug In Geodatabase registrieren Datenbanksichten bei der Geodatabase registrieren.
Die Registrierung einer Sicht in der Geodatabase ist u. a. aus folgenden Gründen erforderlich:
- Wenn Sie eine Sicht in der Geodatabase registrieren, werden Informationen über die Sicht in Geodatabase-Systemtabellen gespeichert. Wenn Sie einer Karte eine Sicht mit einem räumlichen Feld hinzufügen, führen diese Informationen, beispielsweise Geometrietyp, Raumbezug und Ausdehnung, zu einer verbesserten Performance.
- Wenn Sie der Besitzer der Sichten sind, können Sie für Sichten, die in der Geodatabase registriert sind, Metadaten festlegen.
Der zu erstellenden Sicht können Sie eine einzelne räumliche Spalte hinzufügen, wenn Ihre Feature-Class einen SQL-Geometrietyp verwendet und die Feature-Class nicht als versioniert registriert ist. Sie müssen die Objekt-ID der Feature-Klasse in die Sichtdefinition aufnehmen, um die Sicht bei der Geodatabase zu registrieren.
In der Geodatabase registrierte Sichten können nicht über ArcGIS-Clients oder -Services bearbeitet werden.
Versionierte Sichten
Versionierte Sichten enthalten Datenbanksichten, gespeicherte Prozeduren, Trigger und Funktionen, mit deren Hilfe Sie mit SQL auf eine angegebene traditionelle Geodatabase-Version einer Tabelle oder Feature-Class zugreifen und sie bearbeiten können.
Gründe für die Verwendung von versionierten Sichten:
- Versionierte Sichten enthalten die Änderungen, die aktuell in den Deltatabellen der Tabelle gespeichert sind.
- Versionierte Sichten ermöglichen es Ihnen, traditionell versionierte Tabellen und Feature-Classes mit SQL oder Drittanbieter-Apps zu bearbeiten.
ArcGIS-Clients erstellen automatisch versionierte Sichten für Tabellen und Feature-Classes, wenn Sie sie für die traditionelle Versionierung registrieren. Versionierte Sichten werden nur im Rahmen der traditionellen Versionierung unterstützt.
Versionierte Sichten funktionieren mit allen Daten in einer einzelnen 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 traditionell 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.
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 Archivsicht 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 den Zugriff auf 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 mit allen Daten in einer einzelnen 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 Archivsicht enthalten sind.