Vues simples : réutilisation logique
Créez des vues pour encapsuler des requêtes complexes, simplifier les rapports et accorder un accès en lecture à un sous-ensemble de colonnes.
Vues simples : réutilisation logique est une leçon SQL Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage SQL Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours SQL Academy comprend 4 leçons au total.
Qu’est-ce qu’une vue ?
Une vue est une requête SELECT enregistrée. Chaque fois que vous interrogez la vue, le SELECT sous-jacent s’exécute. C’est comme une requête nommée sur laquelle vous pouvez effectuer des JOIN, appliquer des filtres et des agrégations.
CREATE VIEW active_users AS
SELECT id, email, full_name
FROM users
WHERE deleted_at IS NULL;Utiliser une vue
Interrogez-la comme n’importe quelle table :
SELECT COUNT(*) FROM active_users;
SELECT * FROM active_users WHERE email LIKE '%@gmail.com';Les vues ne sont pas stockées
La définition de la vue est stockée, mais pas le résultat. Chaque requête développe la vue et exécute le SELECT sous-jacent. Les mêmes considérations s’appliquent au plan de requête.
Pourquoi utiliser des vues ?
- Réutilisation — définissez une requête complexe une seule fois
- Abstraction — masquez l’implémentation (combiner 3 tables → « active_users »)
- Sécurité — accordez SELECT sur la vue sans exposer les tables de base
- Compatibilité — continuez à prendre en charge les anciennes formes de requêtes après des changements de schéma
CREATE OR REPLACE
Mettez une vue à jour sur place — uniquement si les types et l’ordre des colonnes correspondent :
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.Vues avec des JOIN et des agrégations
Cas courant : effectuer une agrégation par utilisateur :
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;Vues modifiables
Les vues simples (une seule table, aucune agrégation ni DISTINCT) sont modifiables — vous pouvez y effectuer INSERT/UPDATE/DELETE. PostgreSQL les met automatiquement à jour lorsque c’est possible.
Vues qualifiées par schéma
Placez les vues utilitaires dans un schéma dédié :
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;Vues et permissions
Par défaut, une vue s’exécute avec les privilèges de l’utilisateur qui l’interroge — celui-ci doit tout de même disposer des permissions sur les tables de base. Pour permettre à un utilisateur faiblement privilégié d’interroger une table sensible, utilisez plutôt des fonctions SECURITY DEFINER.
Considérations de performances
Le planificateur développe les vues et applique ses optimisations habituelles. Parfois, le GROUP BY d’une vue empêche la propagation du predicate vers les tables sources — décomposez la vue ou réécrivez-la si EXPLAIN révèle un problème.
Dépendances des vues
La suppression d’une table de base est bloquée si une vue en dépend. Utilisez DROP TABLE ... CASCADE uniquement lorsque c’est intentionnel. Listez les éléments dépendants :
SELECT * FROM pg_depend
WHERE refobjid = 'users'::REGCLASS;Récapitulatif
Les vues sont des requêtes SELECT réutilisables.
- Définir une fois, interroger de nombreuses fois
- Abstraction et sécurité
- Modifiables lorsqu’elles sont simples
- Réexécutées à chaque requête — aucune mise en cache intégrée
Vérification rapide
Le fait d’interroger une vue stocke-t-il son résultat ?
Apprends SQL avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 46
- Leçons
- 183
Questions Fréquemment Posées
La leçon « Vues simples : réutilisation logique » est-elle gratuite ?
Oui — le texte complet de « Vues simples : réutilisation logique » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours SQL Academy, passe à CoddyKit PRO. Le cours SQL Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Vues simples : réutilisation logique » ?
Créez des vues pour encapsuler des requêtes complexes, simplifier les rapports et accorder un accès en lecture à un sous-ensemble de colonnes. Tu pratiques SQL Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer SQL Academy ?
Aucune expérience préalable n'est requise. SQL Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Vues simples : réutilisation logique » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon SQL Academy ?
Oui. Chaque leçon SQL Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Vues simples : réutilisation logique
- Vues modifiables et déclencheurs INSTEAD OF
- Vues matérialisées et stratégies de REFRESH
- Quand précalculer les agrégats