Sichten in Informix

Mit Sichten können Sie die Abfrage-Reaktionszeiten verbessern, da sie die Anzahl der bei einer Datenabfrage durchsuchten Tabellen und Spalten reduzieren. Sie können Sichten erstellen, die von Client-Anwendungen als Feature-Classes oder nicht räumliche Tabellen erkannt werden. Eine ArcSDE-Sicht kann auf eine einzelne Tabelle oder Feature-Class verweisen, Sie können aber auch Sichten erstellen, die Daten aus mehreren Tabellen zusammenführen.

Jeder Benutzer, der die erforderlichen Berechtigungen hat, kann eine Sicht über SQL oder den ArcSDE-Befehl "sdetable" erstellen. Darüber hinaus können Sichten für die Bearbeitung von Daten verwendet werden, sofern bestimmte Anforderungen erfüllt werden. Informationen zu den für das Erstellen oder Bearbeiten von Sichten erforderlichen Berechtigungen erhalten Sie im IBM Informix Dynamic Server Information Center für Ihre Version.

Sichtdefinitionen werden in Informix-Datenbanken in der Katalogtabelle "sysviews" gespeichert.

Systemkatalogtabelle "sysviews" speichert Sichtinformationen

Wenn Sie in einer Informix-Datenbank mit SQL oder dem Befehl "sdetable" Sichten erstellen, werden die Sichten in der Systemkatalogtabelle "sysviews" definiert. Daher können Sie die Definition jeder einzelnen Sicht in der Datenbank in der Systemkatalogtabelle "sysviews" abfragen.

Die Systemkatalogtabelle "sysviews" enthält die folgenden Spalten:

Name

Type

Beschreibung

tabid

integer

ID der Sicht

seqno

smallint

Zeilennummer der SELECT-Anweisung, mit der die Sicht erstellt wurde

viewtext

char(64)

Die Anweisung, die zur Erstellung der Sicht verwendet wurde

Informix-Sichtkatalogtabelle

Sie können zunächst die Systemkatalogtabelle "systables" abfragen, um die ID der gewünschten Sicht zu erhalten. In der Systemkatalogtabelle "systables" wird ein Datensatz für jedes Datenbankobjekt gespeichert, Sie können die Abfrage jedoch so ausführen, dass nur Sichten zurückgegeben werden, wie im folgenden Beispiel:

SELECT * 
FROM informix.systables 
WHERE tabtype = 'V';

Wenn Sie die Sicht gefunden haben, deren Definition Sie anzeigen möchten, führen Sie eine Abfrage der Systemkatalogtabelle "sysviews" durch.

SELECT * 
FROM informix.sysviews 
WHERE tabid = <view_id>;

7/10/2012