Quellen suchen:“ View “ SQL-news · newspapers · books · scholar · JSTOR (März 2020) (Erfahren Sie, wie und wann diese Vorlage Nachricht zu entfernen)
In einer Datenbank ist eine Ansicht die Ergebnismenge einer gespeicherten Abfrage auf die Daten, die die Datenbankbenutzer abfragen können, wie sie es in einem persistenten Datenbanksammlungsobjekt tun würden. Dieser voreingestellte Abfragebefehl wird im Datenbankwörterbuch gespeichert., Im Gegensatz zu gewöhnlichen Basistabellen in einer relationalen Datenbank ist eine Ansicht nicht Teil des physischen Schemas: Als Ergebnismenge ist sie eine virtuelle Tabelle, die dynamisch aus Daten in der Datenbank berechnet oder zusammengestellt wird, wenn der Zugriff auf diese Ansicht angefordert wird. Änderungen, die auf die Daten in einer relevanten zugrunde liegenden Tabelle angewendet werden, spiegeln sich in den Daten wider, die in nachfolgenden Aufrufen der Ansicht angezeigt werden. In einigen NoSQL-Datenbanken sind Ansichten die einzige Möglichkeit, Daten abzufragen.
Ansichten können Vorteile gegenüber Tabellen bieten:
- Ansichten können eine Teilmenge der in einer Tabelle enthaltenen Daten darstellen., Folglich kann eine Ansicht den Grad der Exposition der zugrunde liegenden Tabellen gegenüber der Außenwelt begrenzen: Ein bestimmter Benutzer hat möglicherweise die Berechtigung, die Ansicht abzufragen, während ihm der Zugriff auf den Rest der Basistabelle verweigert wird.
- Ansichten können mehrere Tabellen zu einer einzigen virtuellen Tabelle verbinden und vereinfachen.
- Ansichten können als aggregierte Tabellen fungieren, in denen die Datenbank-Engine Daten (Summe, Durchschnitt usw.) aggregiert.) und stellt die berechneten Ergebnisse als Teil der Daten dar.
- Ansichten können die Komplexität von Daten verbergen., Beispielsweise kann eine Ansicht als Sales2000 oder Sales2001 angezeigt werden, wobei die eigentliche zugrunde liegende Tabelle transparent partitioniert wird.
- Ansichten benötigen sehr wenig Platz zum Speichern; Die Datenbank enthält nur die Definition einer Ansicht, nicht eine Kopie aller Daten, die sie darstellt.
- Abhängig von der verwendeten SQL-Engine können Ansichten zusätzliche Sicherheit bieten.
So wie eine Funktion (in der Programmierung) Abstraktion bereitstellen kann, kann auch eine Datenbankansicht. In einer anderen Parallele zu Funktionen können Datenbankbenutzer verschachtelte Ansichten bearbeiten, sodass eine Ansicht Daten aus anderen Ansichten aggregieren kann., Ohne die Verwendung von Ansichten würde die Normalisierung von Datenbanken über der zweiten Normalform viel schwieriger werden. Ansichten können das Erstellen einer verlustfreien Join-Zerlegung erleichtern.
So wie Zeilen in einer Basistabelle keine definierte Reihenfolge aufweisen, werden Zeilen, die über eine Ansicht verfügbar sind, nicht mit einer Standardsortierung angezeigt. Eine Ansicht ist eine relationale Tabelle, und das relationale Modell definiert eine Tabelle als eine Reihe von Zeilen. Da Sätze per Definition nicht geordnet sind, sind auch die Zeilen einer Ansicht nicht geordnet., Daher ist eine ORDER BY Klausel in der Ansichtsdefinition bedeutungslos; Der SQL-Standard (SQL:2003) erlaubt keine ORDER BY Klausel in der Unterabfrage eines CREATE VIEW Befehls, so wie sie in einer CREATE TABLE Anweisung abgelehnt wird. Sortierte Daten können jedoch wie jede andere Tabelle aus einer Ansicht abgerufen werden — als Teil einer Abfrageanweisung für diese Ansicht. Trotzdem halten sich einige DBMS (z. B. Oracle Database) nicht an diese SQL-Standardbeschränkung.