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
- Einfache Views: Logische Wiederverwendung
- Aktualisierbare Views und INSTEAD-OF-Trigger
- Materialisierte Views und REFRESH-Strategien
- Wann Sie voraggregieren sollten