Views
Completion requirements
Eine Sicht (engl. View) stellt eine virtuelle Tabelle dar
Eine Sicht speichert eine Abfrage unter einem neuen Namen im DBMS. Sie stellt also quasi eine eine virtuelle Tabelle dar, die selbst auch abgefragt werden kann.Wann immer eine Abfrage auf eine Sicht gemacht wird, wird diese zuvor durch das DBMS neu berechnet.
Erstellen einer Sicht
Die Syntax zum Speichern einer Select-Abfrage als Sicht ist:| CREATE VIEW | Erzeuge Sicht |
| viewName | mit der Bezeichnung |
| AS | so wie |
| SELECT-Abfrage | SELECT-Abfrage (ohne ORDER BY) |
Gehen wir dabei z.B. von diesem konkreten ER-Modell aus,

dann wird eine eine SELECT-Abfrage über alle drei Tabellen folgendermaßen als Sicht gespeichert:
CREATE VIEW viewMitarbeiterProjektbezeichnung AS SELECT Name AS Mitarbeiter, Bezeichnung AS Projektbezeichnung FROM tblMitarbeiter INNER JOIN tblRefMitarbeiterProjekt ON tblMitarbeiter.MitarbeiterID = tblRefMitarbeiterProjekt.MitarbeiterID INNER JOIN tblProjekt ON tblRefMitarbeiterProjekt.ProjektID = tblProjekt.ProjektIDDie Abfrage wird damit noch nicht ausgeführt, sondern lediglich unter einem Namen als Sicht gespeichert.
Daten aus einer Sicht abrufen
Eine Sicht kann jetzt im folgenden wie eine ganz normale Tabelle abgefragt werden:SELECT * FROM viewMitarbeiterProjektbezeichnung ORDER BY MitarbeiterJetzt erst wird die gespeicherte Abfrage wirklich ausgeführt, d.h. die virtuelle Tabelle gefüllt, die nun ihrerseits abgefragt wird.
(Eine Sortierung erfolgt nicht in der Sicht, sondern die ORDER BY-Klausel wird erst beim Abfragen der Sicht formuliert.)
Gründe für den Einsatz von Sichten
- Verbergen von Komplexität
Komplizierte SQL-Abfragen können mit einer Sicht verborgen werden. Die Abfrage der Sicht ist einfacher, was den Schulungsaufwand verringert. - Rationalisierung
Es kann viel Arbeitszeit gespart werden, wenn viele Tabellen bereits fertig verknüpft vorliegen. - Berechtigungen einschränken
Sichten erlauben indirekte Berechtigungen: Eine Gruppe hat die Leseberechtigung für eine Sicht, nicht aber für die der Sicht zu Grunde liegenden Tabellen oder Spalten. Trotzdem können die Daten, die in der Sicht zusammengeführt werden, von der Gruppe abfragt werden.
So kann ein Abteilungsleiter beispielsweise über eine Sicht für ihn relevante Mitarbeiterdaten abfragen, Informationen der Personalabteilung, die dem Datenschutz unterliegen, bleiben verborgen.
Last modified: Tuesday, 28 August 2018, 8:17 PM