Vue (base de données)

Un article de Wikipédia, l'encyclopédie libre.

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.

Sommaire

[modifier] Stockage des vues

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

[modifier] En SQL

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 Tout_le_monde 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 Tout_le_monde;

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.

[modifier] Voir aussi

[modifier] Liens externes

Autres langues