Ansichten in Informix
Mit Ansichten 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 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 über die erforderlichen Berechtigungen verfügt, kann eine Sicht über SQL oder den ArcSDE-Befehl "sdetable" erstellen. Sichten können außerdem zum Bearbeiten von Daten verwendet werden, wenn spezielle Anforderungen erfüllt sind. Informationen zu den für das Erstellen oder Bearbeiten von Sichten erforderlichen Berechtigungen finden Sie im IBM Informix Dynamic Server Information Center für Ihre Version.
In Informix-Datenbanken werden Sichtdefinitionen in der Katalogtabelle "sysviews" gespeichert.
In der Systemkatalogtabelle "sysviews" werden Sichtinformationen gespeichert
Wenn Sie in einer Informix-Datenbank, die SQL oder den Befehl "sdetable"verwendet, Ansichten erstellen, werden die Ansichten in der Systemkatalogtabelle "sysviews" definiert. Daher können Sie können die Definition jeder einzelnen Ansicht der Datenbank in der Systemkatalogtabelle "sysviews" abfragen.
Die Systemkatalogtabelle "sysviews" enthält die folgenden Spalten:
Name |
Typ |
Beschreibung |
---|---|---|
tabid |
Ganzzahl |
ID der Ansicht |
seqno |
smallint |
Zeilennummer der SELECT-Anweisung, mit der die Ansicht erstellt wurde |
viewtext |
char(64) |
Die Anweisung, die zur Erstellung der Ansicht verwendet wurde |
Sie können zunächst die Systemkatalogtabelle "systables" abfragen, um die ID der gewünschten Ansicht 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 Ansichten zurückgegeben werden, wie im folgenden Beispiel:
SELECT *
FROM informix.systables
WHERE tabtype = 'V';
Wenn Sie die Ansicht 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>;