Erste Seite Zurück Weiter Letzte Seite Übersicht Grafik
Views (Sichten)
Durch Normalisierung erhält man viele Tabellen, die zueinander in Beziehungen stehen
Handhabung der Daten wird umständlich
DBMS stellt “View” zur Verfügung, die u.a. mehrere Tabellen miteinander verschmelzen kann
Anm.: In Access heißen Views “Select Query”
Notizen:
Views - Sichten
Eine Sicht ist eine virtuelle Tabelle, die durch eine Abfrage (SELECT) definiert wird. Sichten sollten auf jedem SQL-fähigem DB-Server existieren, sie bilden eine Grundforderung des Relationalen Modells.
bestehen aus einem praktisch beliebig komplexen Select-Statement, das einen Namen hat (Joins, Union, Aggregationen etc. je nach Implementierung erlaubt)
Kapselung komplexer Abfragen oder Tabellen, die für Normalisierung aufgeteilt wurden, zusammenzuführen
Sicht belegt keinen physischen Speicherplatz
kann wie Tabelle verwendet werden: SELECT * FROM ViewName
INSERT / UPDATE / DELETE prinzipiell möglich „View Updatability“... sollten mittels einfachem Insert/Update/Delete Daten in den zu Grunde liegenden Tabellen verändern können, sofern eine eindeutige Zuordenbarkeit gegeben ist (z.B. f. Unions & Aggregationen verboten); diese Forderung heißt im Relationalen Modell „View Updatability“
Ändern von Daten in einer Sicht:
mindestens 1 Tabelle in der FROM Klausel der Sichtdefinition
keine Aggregatfunktionen
kein GROUP BY, UNION, DISTINCT, TOP
keine berechneten Spalten
Sichten werden benützt, um...
... die Externe Schicht (gemäß ISO) zur Verfügung zu stellen
und somit
... Strukturänderungen nach Möglichkeit abzufangen
... Komplexität von Datenstrukturen zu verbergen
... Performance zu verbessern
... Sicherheit herzustellen
Views als Externe Schicht
Dem Frontendprogrammierer wird kein Zugriff auf die zu Grunde liegenden Daten gewährt, sondern „nur“ auf Sichten. Somit bilden die Sichten die sichtbare Oberfläche der Datenstrukturen, also die externe Schicht gemäß ANSI (siehe Grundlagen)
Aufgrund der Forderung der View Updatability geht keine Funktionalität verloren, Daten können weiterhin geändert werden.
Die Tabellen sind in diesem Zusammenhang die Konzeptionelle (mittlere) Schicht, während die Speicherungsstrukturen (generisch binär, CSV, XML etc.) die interne Schicht bilden.
In der Praxis sind sehr oft kaum Sichten in der DB zu finden, die Tabellenstruktur bildet gleichzeitig Konzeptionelle & Externe Schichten