Databases Reference
In-Depth Information
Wichtig ist, dass es sich bei Views um rein logische Tabellen
handelt, d. h. es wird für den View keine Tabelle in der Daten-
bank angelegt, stattdessen wird die zur View gehörende Anfra-
ge gespeichert. Das bedeutet auch, dass jedes Mal wenn der
View genutzt wird, eine Berechnung der Anfrage stattfindet.
Dies ist bei der Geschwindigkeit von Anfragen, die Views nut-
zen, zu beachten.
Der Vorteil davon, dass Views ein logisches Konstrukt sind, ist,
dass man sich um Veränderungen nicht kümmern muss, da der
View immer auf den aktuellsten Datenbestand zurückgreift.
Dies wird mit folgendem Beispiel deutlich, bei dem zunächst
ein neuer Java-Entwickler ergänzt
Views sind logi-
sche Tabellen
View hat immer
aktuelle Daten
INSERT INTO Qualifikation VALUES(42,'Java')
und dann wieder die Frage nach dem Durchschnittsgehalt ge-
stellt wird.
SELECT AVG(Mitarbeiter.Gehalt) Javaschnitt
FROM Mitarbeiter, Javaprogrammierer
WHERE Mitarbeiter.MiNr=Javaprogrammierer.MiNr
Das Ergebnis ist:
JAVASCHNITT
-----------
4166,66667
In einigen Datenbank-Managementsystemen ist es möglich,
Views zu kennzeichnen, so dass statt der Anfrage das Anfrage-
ergebnis gespeichert wird. Diese Views werden dann auch
„materialized Views“ genannt. Dies entspricht der Möglichkeit,
eine Tabelle zu definieren
CREATE TABLE Javakoenner(
MiNr NUMBER
)
und dann über einen INSERT -Befehl zu füllen. Man sieht im
folgenden Befehl die Möglichkeit, SQL-Anfragen in INSERT -
Befehlen zu nutzen.
INSERT INTO Javakoenner
SELECT Mitarbeiter.MiNr
FROM Mitarbeiter, Qualifikation
WHERE Mitarbeiter.MiNr=Qualifikation.MiNr
AND Qualifikation.Faehigkeit='Java'
Materialized Views und der vorgestellte Ansatz zur Berech-
nung einer temporären Tabelle haben den zentralen Nachteil,
dass man selbst dafür verantwortlich ist, dass die Inhalte bei
materialized
Views
Tabelle über IN-
SERT füllen
235
Search WWH ::




Custom Search