Views in SQL

Prediger

Grünschnabel
Hallo

Was sind views?
Welche Bedeutung haben Sie im Zusammenhang mit der Rechteverwaltung eines Datenbanksystems

Christian
 
Hallo!

View's sind i.d.R. Sichten auf die Datenbank. Allgemein lassen sie sich genauso verwenden wie Tabellen mit Ausnahme der Tatsache das Insert bzw. Update Operationen etwas umständlich umzusetzen sind (Beispielswiese über Trigger). Mit Views kannst du Beispielsweise die Daten welche durch ein größeres Select Statement, das mehrere Tabellen zusammenfügt (join-Operation),als EINE "Tabelle" erscheinen lassen.

Mit Views kann man auch Zugriffskontrollen auf Datenbankobjekte Realisieren. Will man Beispielsweise verhindern, dass ein Benutzer alle Spalten einer Tabelle sieht, kann man etwa ein entsprechendes Select Statement formulieren welches die "nicht gewünschten" Spalten ausschließt und für die Erstellung einer View Nutzen. Der Benutzer kann nun die Daten aus der View so betrachten als würde er auf die Tabelle schauen (er sieht dann aber gewisse Spalten nicht). In der Tat macht der Benutzer sogar einen Select auf die View.

Gruß Tom
 
Das stimmt natürlich soweit man eine View als Datenbankobjekt betrachtet. Rein technisch ist eine View nichts anderes als ein vordefiniertes SELECT Statement, welches in der Datenbank gespeichert wird. Macht der Benutzer nun eine Abfrage "auf die View" wird das gespeicherte SELECT Statement mit der eigenen Abfrage zusammengefasst. D.h. es werden z.B. die WHERE Bedingungen der beiden Statements mit AND Verknüpft.

Vorteile bringen Views, wie schon von Thomas beschrieben, besonders bei komplexen Select Statements. Davon abgesehen, dass man somit die eigentliche Tabellenstruktur verbergen kann, liegt das Statement der View schon im geparsten Zustand vor. D.h. komplexe Abfragen können über eine View schneller ausgeführt werden, weil die Datenbank sozusagen schon drauf vorbereitet ist.
 
Zurück