0Pricing
SQL Academy · Lektion

Einfache Views: Logische Wiederverwendung

Erstellen Sie Views, um komplexe Abfragen zu kapseln, Berichte zu vereinfachen und Lesezugriff auf eine Teilmenge der Spalten zu gewähren.

Einfache Views: Logische Wiederverwendung ist eine kostenlose SQL Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des SQL Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der SQL Academy-Kurs umfasst insgesamt 4 Lektionen.

Was ist eine View?

Eine View ist ein gespeichertes SELECT. Jedes Mal, wenn Sie die View abfragen, wird das zugrunde liegende SELECT ausgeführt. Sie können sie wie eine benannte Abfrage mit JOIN, Filtern und Aggregationen verwenden.

CREATE VIEW active_users AS
  SELECT id, email, full_name
  FROM users
  WHERE deleted_at IS NULL;

Eine View verwenden

Fragen Sie sie wie jede Tabelle ab:

SELECT COUNT(*) FROM active_users;
SELECT * FROM active_users WHERE email LIKE '%@gmail.com';

Views werden nicht gespeichert

Gespeichert wird die Definition der View, nicht das Ergebnis. Bei jeder Abfrage wird die View erweitert und das zugrunde liegende SELECT ausgeführt. Es gelten dieselben Überlegungen zum Abfrageplan.

Warum Views?

  • Wiederverwendung – eine komplexe Abfrage einmal definieren
  • Abstraktion – die Implementierung verbergen (3 Tabellen verbinden → „active_users“)
  • Sicherheit – SELECT auf der View erlauben, ohne die Basistabellen offenzulegen
  • Kompatibilität – alte Abfrageformen nach Schemaänderungen weiterhin unterstützen

CREATE OR REPLACE

Aktualisieren Sie eine View direkt – allerdings nur, wenn Spaltentypen und -reihenfolge übereinstimmen:

CREATE OR REPLACE VIEW active_users AS
  SELECT id, email, full_name, last_login
  FROM users
  WHERE deleted_at IS NULL;

-- ERROR if columns conflict; DROP VIEW + CREATE VIEW instead.

Views mit JOINs und Aggregationen

Ein häufiger Anwendungsfall: eine Zusammenfassung pro Benutzer:

CREATE VIEW user_stats AS
SELECT u.id, u.email,
       COUNT(o.id) AS order_count,
       COALESCE(SUM(o.total), 0) AS revenue
FROM users u
LEFT JOIN orders o ON o.user_id = u.id
GROUP BY u.id, u.email;

Aktualisierbare Views

Einfache Views (eine Tabelle, keine Aggregation, kein DISTINCT) sind aktualisierbar – Sie können über sie INSERT/UPDATE/DELETE ausführen. PostgreSQL aktualisiert sie, wo möglich, automatisch.

Views mit Schemaqualifizierung

Legen Sie Hilfs-Views in einem eigenen Schema ab:

CREATE SCHEMA api;
CREATE VIEW api.users_public AS
  SELECT id, email, full_name FROM users WHERE deleted_at IS NULL;

GRANT SELECT ON api.users_public TO app_reader;

Views und Berechtigungen

Standardmäßig wird eine View mit den Berechtigungen des abfragenden Benutzers ausgeführt – dieser benötigt weiterhin Berechtigungen für die Basistabellen. Damit ein Benutzer mit niedrigen Berechtigungen eine sensible Tabelle abfragen kann, verwenden Sie stattdessen SECURITY DEFINER-Funktionen.

Überlegungen zur Performance

Der Abfrageplaner erweitert Views und wendet seine üblichen Optimierungen an. Manchmal verhindert das GROUP BY einer View das Push-down von Prädikaten – teilen Sie die Abfrage auf oder schreiben Sie sie um, wenn EXPLAIN ein Problem zeigt.

Abhängigkeiten von Views

Das Löschen einer Basistabelle wird verhindert, wenn eine View von ihr abhängt. Verwenden Sie DROP TABLE ... CASCADE nur, wenn Sie dies wirklich beabsichtigen. Abhängige Objekte auflisten:

SELECT * FROM pg_depend
WHERE refobjid = 'users'::REGCLASS;

Rückblick

Views sind wiederverwendbare SELECT-Abfragen.

  • Einmal definieren, beliebig oft abfragen
  • Abstraktion und Sicherheit
  • Aktualisierbar, wenn einfach aufgebaut
  • Bei jeder Abfrage erneut ausgeführt – keine integrierte Zwischenspeicherung

Kurzer Test

Wird das Ergebnis gespeichert, wenn Sie eine View abfragen?

Häufig gestellte Fragen

Ist die Lektion „Einfache Views: Logische Wiederverwendung“ kostenlos?

Ja — der vollständige Text von „Einfache Views: Logische Wiederverwendung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des SQL Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der SQL Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Einfache Views: Logische Wiederverwendung“?

Erstellen Sie Views, um komplexe Abfragen zu kapseln, Berichte zu vereinfachen und Lesezugriff auf eine Teilmenge der Spalten zu gewähren. Du übst SQL Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um SQL Academy zu starten?

Keine Vorkenntnisse erforderlich. SQL Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Einfache Views: Logische Wiederverwendung“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser SQL Academy-Lektion Code schreiben und ausführen?

Ja. Jede SQL Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Einfache Views: Logische Wiederverwendung
  2. Aktualisierbare Views und INSTEAD-OF-Trigger
  3. Materialisierte Views und REFRESH-Strategien
  4. Wann Sie voraggregieren sollten
← Zurück zu SQL Academy