Home - SQL Befehle - Datenmanipulation - Objekt erzeugen www.sqldocu.com
zurück vor



Virtuelle Tabellen erstellen (VIEWS)


Beschreibung
top
Virtuelle Tabellen werden mit CREATE VIEW erzeugt. Mit Hilfe dieses Befehls kann aus einer oder mehreren Tabellen (siehe Datenbank Aufbau) eine virtuelle Tabelle (VIEW) erzeugt werden. Es wird vom RDBMS eine temporäre Tabelle angelegt. Diese besteht wie eine "normale" Tabelle aus Spalten und Reihen. Wenn auf diese virtuelle Tabelle wiederholt zugegriffen wird, gelingt es manchmal die Performance zu erhöhen. Der SELECT Befehl kann auf einen VIEW wie auf eine "normale" Tabelle angewendet werden. VIEWS sind z.B. sinnvoll wenn zusammenhängende Daten auf mehrere Tabellen verteilt sind. Mit Hilfe des Views können diese Daten übersichtlich für Benutzer zusammengefasst werden. Wenn ein Teil der Benutzer nicht über die nötigen Rechte verfügt, um auf Tabellen zuzugreifen, kann dies mit virtuellen Tabellen umgangen werden. Rechte werden für eine virtuelle Tabelle ähnlich vergeben, wie für eine herkömmliche Tabelle (siehe Datenbank Administration). Die Befehle INSERT UPDATE DELETE können nur eingeschränkt auf virtuelle Tabellen angewendet werden.
Hinweis: VIEWS werden von MySQL nicht unterstützt (ab Version 5 ist die Implementierung geplant)



Syntax
top
[] ... Syntax innerhalb dieser Klammern ist optional
Hinweis:
Der Syntax entsprechen dem ANSI Standard. Es sind nicht alle Optionen angeführt, da sie nur von wenigen RDBMS unterstützt werden. MySQL unterstützt VIEWS nicht (ab Version 5 plant MySQL VIEWS zu implementieren).

Beispiele:
CREATE VIEW meinView (Spalte1 , Spalte2) AS SELECT Spalte7, Spalte4 FROM meineTabelle


Beispiel Tabelle:
top
Diese Tabellen werden verwendet um SQL besser darstellen zu können.


TabelleName: captain
Die Tabelle captain besteht aus 2 Spalten und 5 Reihen
Spalte1 hat den Namen name.
Spalte2 hat den Namen nr_schiff

Spaltenname name nr_schiff
Reihe 1 James Kirk 1
Reihe 2 Jean-Luc Picard 2
Reihe 3 Kathryn Janeway 3
Reihe 4 Commodore Decker 4
Reihe 5 Thomas Ramart 6


TabelleName: raumschiff
Die Tabelle raumschiff besteht aus 3 Spalten und 5 Reihen
Spalte1 hat den Namen nr_schiff.
Spalte2 hat den Namen name
Spalte3 hat den Namen status
  status=0 —> Raumschiff einsatzbereit
  status=1 —> Raumschiff in Reparatur

Spaltename nr_schiff name status
Reihe 1 1 U.S.S. Enterprise 1
Reihe 2 2 U.S.S. Stargazer 0
Reihe 3 3 U.S.S. Voyager 1
Reihe 4 4 U.S.S. Constellation 0
Reihe 5 5 U.S.S. Phoenix 1


TabelleName: baujahr
Die Tabelle baujahr besteht aus 2 Spalten und 5 Reihen
Spalte1 hat den Namen nr_schiff.
Spalte2 hat den Namen jahr

Spaltename nr_schiff jahr
Reihe 1 1 2221
Reihe 2 2 2325
Reihe 3 3 2050
Reihe 4 4 2014
Reihe 5 5 2201


VIEW erstellen
top
CREATE VIEW meinView (
 captain,
 raumschiff,
 baujahr
) AS
SELECT T1.name, T2.name, T3.jahr FROM captain T1 INNER JOIN raumschiff T2
ON T1.nr_schiff = T2.nr_schiff
INNER JOIN baujahr T3
ON T3.nr_schiff = T2.nr_schiff

Es wird eine VIEW (virtuelle Tabelle) mit dem Namen meinView erzeugt. Als SELECT ANWEISUNG wird ein JOIN verwendet. Unten zeigen wir die erzeugte virtuelle Tabelle.

virtuelle Tabelle bzw. View meinView:
SpaltenName captain raumschiff baujahr
Reihe 1 James Kirk U.S.S. Enterprise 2221
Reihe 2 Jean-Luc Picard U.S.S. Stargazer 2325
Reihe 3 Kathryn Janeway U.S.S. Voyager 2050
Reihe 4 Commodore Decker U.S.S. Constellation 2014

Beispiel Tabellen anzeigen
PHP Syntax     PERL Syntax



top