VIEW(QL) DABA16 VIEW(QL) NAME view - Definieren einer Sicht (virtuellen Relation) UEBERSICHT define view name (target_list) [ where qual ] BESCHREIBUNG Die Syntax der view Anweisung ist die der retrieve into An- weisung fast identisch. Die Daten werden jedoch physisch abgelet. Stattdessen wird die Definition gespeichert. Wenn die Sicht mit dem Namen name spaeter benutzt wird, erfolgt die Konvertierung der Anfrage, um mit den in der target_list spezifizierten Domaenen zu operieren. Alle Formen des Wiederauffindens auf die Sicht werden voll- staendig unterstuetzt. Nur eine begrenzte Menge von Aende- rungen auf Sichten werden zugelassen, weil Anomalien auftre- ten duerfen. Keine Aenderungen auf Sichten, die sich auf mehr als eine Relation beziehen, sind moeglich. Es werden keine Aenderungen unterstuetzt, die auf Domaenen ausgefuehrt werden sollen, die in der Qualifikation der Anfrage enthal- ten sind und nicht auf solche, die sich auf Domaenen der Sicht beziehen, die nicht in einfache Attribute ueberfuehrt werden koennen. Allgemein gilt, dass Aenderungen dann und nur dann unter- stuetzt werden, wenn garantiert ist (ohne Pruefung der ak- tuellen Daten), dass das Ergebnis der Aenderung der Sicht identisch zur Aenderung der korrespondierenden Basis- Relationen ist. Sichten koennen auf DBA- und private Relationen erstellt werden. Jeder kann eine Sicht definieren. Ob sie bei der Abarbeitung einer Anfrage benutzt wird, ist davon abhaengig, ob die entsprechenden Befugnisse vorliegen. Define erstellt Eintraege fuer Sichten, Befugnisse und In- tegritaetsbedingungen nur, wenn die Anfragemodifikations- Unterstuetzung (QRYMOD, Query Modification) eingeschaltet wurde (Sollte sie stets!). BEISPIEL[E] range of p is personal range of a is abt define view persabt (pname = p.name, p.gehalt, aname = a.name) where p.leiter = a.leiter SIEHE AUCH retrieve(ql), destroy(ql)