Vue (base de données)

synthèse d'une requête d'interrogation de la base de données

Une vue dans une base de données est une synthèse d'une requête d'interrogation de la base. On peut la voir comme une table virtuelle, définie par une requête.

Les avantages des vues sont :

  • d'éviter de taper une requête très longue : la vue sert à donner un nom à la requête pour l'utiliser souvent,
  • de masquer certaines données à certains utilisateurs. En SQL, les protections d'une vue ne sont pas forcément les mêmes que celles des tables sous-jacentes.

Stockage des vues modifier

Les vues ne sont pas forcément purement virtuelles. Certains SGBD comme Oracle Database[1] permettent de stocker la vue sur disque, elle devient alors un véritable système de cache.

En SQL modifier

Les vues se créent avec la commande CREATE VIEW. Un exemple, où les employés d'une entreprise sont dans une table, les départements de l'entreprise dans une autre et où on doit faire une jointure pour afficher le nom du département à côté de celui de l'employé :

  CREATE TABLE Employes (id SERIAL, nom TEXT, departement INTEGER);
  CREATE TABLE Departements (id SERIAL, nom TEXT);
  SELECT e.nom as Employe, d.nom as Departement 
            FROM Employes e,Departements d WHERE e.departement = d.id;

Si, par contre, on crée une vue :

  CREATE VIEW ToutLeMonde AS 
         SELECT e.nom as Employe, d.nom as Departement 
                FROM Employes e,Departements d 
                WHERE e.departement = d.id;

On pourra alors écrire la requête SELECT ci-dessus bien plus simplement, la jointure ne sera plus visible :

  SELECT * FROM ToutLeMonde ;

Les vues s'utilisent pratiquement comme des tables (elles peuvent être dans une clause FROM d'un SELECT, dans un UPDATE, etc) avec quelques restrictions, qui dépendent du SGBD.

Notes et références modifier

  1. « Oracle Database Cache Views », sur docs.oracle.com (consulté le )

Voir aussi modifier