Accéder au contenu principal

Vues (tables virtuelles) en SQL

Dans ce tutoriel, vous découvrirez ce que sont les vues, leurs différents types, et les avantages/inconvénients de leur utilisation.
Actualisé 19 sept. 2026  · 6 min lire

Explorer avec l’IA

ChatGPTClaudePerplexity

Les administrateurs et utilisateurs de bases de données font face à deux défis : écrire des requêtes SQL complexes et sécuriser l’accès aux données. Les requêtes SQL se compliquent parfois en raison de l’utilisation de multiples jointures, sous‑requêtes et de GROUP BY au sein d’une même instruction.

Pour simplifier ce type de requêtes, vous pouvez utiliser un proxy par‑dessus la table d’origine. Par ailleurs, pour des raisons de sécurité, l’administrateur peut souhaiter restreindre l’accès direct à la base. Par exemple, si une table comporte de nombreuses colonnes mais que l’utilisateur n’a besoin que de trois d’entre elles, le DBA créera une table virtuelle ne contenant que ces trois colonnes. Dans les deux cas, vous pouvez utiliser une vue. Les vues jouent le rôle de proxy ou de table virtuelle. Elles réduisent la complexité des requêtes SQL et offrent un accès sécurisé aux tables sous‑jacentes.

Qu’est‑ce qu’une vue ?

Les vues sont une forme particulière de tables en SQL. Elles offrent un environnement de table virtuelle pour diverses opérations complexes. Vous pouvez sélectionner des données depuis plusieurs tables, ou filtrer des données spécifiques selon certains critères dans des vues. Une vue ne stocke pas les données elles‑mêmes : elle ne conserve que sa définition dans le dictionnaire de données.

\"Views

Une vue est une requête enregistrée dans le dictionnaire de données, sur laquelle l’utilisateur peut interroger comme s’il s’agissait d’une table. Elle n’occupe pas de mémoire physique : seule la requête est stockée dans le dictionnaire de données. Elle est évaluée dynamiquement à chaque fois que l’utilisateur l’interroge. Toute modification effectuée via la vue se répercute sur la table de base.

Une vue a principalement deux objectifs :

  • Simplifier les requêtes SQL complexes.
  • Restreindre l’accès des utilisateurs aux données sensibles.
\"Views

Types de vues

  • Vue simple : Vue fondée sur une seule table, qui ne contient pas de clause GROUP BY ni de fonctions.
  • Vue complexe : Vue fondée sur plusieurs tables, qui contient des fonctions et/ou une clause GROUP BY.

  • Vue inline : Vue basée sur une sous‑requête dans la clause FROM ; cette sous‑requête crée une table temporaire et simplifie la requête complexe.

  • Vue matérialisée : Vue qui stocke à la fois la définition et les données. Elle crée une copie des données en les enregistrant physiquement.

\"Views

Vue simple

\"Views

Vue complexe

\"Views
\"Views

Vue inline

Une vue inline est une instruction SELECT placée dans la clause FROM d’une autre instruction SELECT afin de créer une table temporaire que la requête peut référencer. Les vues inline sont utilisées pour écrire des requêtes SQL complexes sans multiplier les jointures et sous‑requêtes explicites. On parle de table « temporaire » car la copie des données renvoyées par la sous‑requête n’est pas stockée dans la base. Dans Oracle et dans la communauté Postgres, cette table temporaire est appelée « inline view ». On parle aussi de « subselect ».

\"Views

Vue matérialisée

Une vue matérialisée réplique physiquement les données récupérées. Ces données répliquées peuvent être réutilisées sans réévaluer la vue. Ce type de vue est également connu sous le nom de « SNAPSHOTS ». Les vues matérialisées réduisent le temps de traitement nécessaire pour regénérer l’ensemble des données. Elles aident les utilisateurs distants à répliquer localement les données et améliorent les performances des requêtes. La difficulté réside dans la synchronisation des modifications entre les vues matérialisées et les tables sous‑jacentes.

\"Materialized
\"Views

Comparaison entre vue et vue matérialisée

\"Views

Créer et supprimer une vue en SQL

Vous pouvez créer ou remplacer une vue à l’aide de CREATE VIEW et REPLACE VIEW.

\"Views

Vous pouvez supprimer une vue avec la commande DROP VIEW.

\"Views

Avantages et inconvénients des vues

Les vues peuvent servir de sous‑ensemble des données réelles pour effectuer certaines opérations. Elles apportent une couche d’abstraction à différents profils d’utilisateurs et masquent la complexité pour ceux qui accèdent aux données des tables. Par exemple, un utilisateur peut n’avoir le droit d’accéder qu’à certaines colonnes plutôt qu’à l’intégralité de la table. Elles aident à transformer des requêtes complexes en requêtes plus simples et facilitent l’accès à des données issues de plusieurs tables jointes. Elles peuvent être utilisées comme tables agrégées via des opérations GROUP BY. Les vues renforcent également la sécurité. Elles n’occupent pas d’espace de stockage, car seule leur définition est conservée dans le dictionnaire de données, pas une copie des données réelles.

En dépit de ces nombreux atouts, les vues présentent aussi des limites : dépendance à la structure des tables de base, temps de calcul et restrictions. Elles dépendent en effet du schéma des tables ; si vous modifiez la structure d’une table, vous devrez adapter la définition des vues associées.

Conclusion

Félicitations, vous êtes arrivé au terme de ce tutoriel !

Vous avez parcouru en détail les vues : leur définition, leurs types (vue simple, vue complexe, vue inline, vue matérialisée), la syntaxe pour créer et supprimer des vues, ainsi que leurs avantages et inconvénients.

Il ne vous reste plus qu’à mettre en pratique le concept de vues pour analyser vos propres jeux de données. Merci de votre lecture !

Pour aller plus loin en SQL, suivez notre cours Introduction to Relational Databases in SQL.

Devenez ingénieur en données

Devenez un ingénieur de données grâce à l'apprentissage avancé de Python
Commencez À Apprendre Gratuitement
Sujets
SQL

Cours SQL

Cours

Manipulation de données en SQL

4 h
335.1K
Débloquez tout le potentiel de vos données grâce à des requêtes SQL avancées et préparez des jeux de données robustes avec PostgreSQL pour la data science.
Afficher les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow