L2 Info : Bases de données
 
◃  Ch. 6 Retour sur DDL  ▹
 

Création de vues

  • Permet de représenter tout ou partie d'une ou plusieurs tables
  • Permet de rassembler des données réparties sur plusieurs tables
  • Permet de gérer plus finement les droits associés aux données
  • Dissocie l'aspect externe des données de l'aspect conceptuel
  • Syntaxe :
    CREATE VIEW nom_vue [col1, ...] AS SELECT ...
  • Seule la structure de la vue est mémorisée, on parle aussi de table virtuelle
  • MySQL intègre les vues depuis la version 5.0.1
  • Exemple :
    CREATE VIEW DipResp(dip_nom, nom_resp, prenom_resp)
    AS SELECT dip_nom, prof_nom, prof_prenom FROM Professeur P, Diplome D
          WHERE P.prof_id = D.prof_id;
        
    Usage (comme une table) :
    pgl2mi=# SELECT * FROM DipResp;
     dip_nom | nom_resp | prenom_resp
    ---------+----------+-------------
     Licence | Jay      | Véronique
     Master  | Amanton  | Laurent
    (2 rows)
    
    pgl2mi=# UPDATE diplome SET prof_id=4 WHERE dip_id=1;
    UPDATE 1
    pgl2mi=# SELECT * FROM DipResp;
     dip_nom | nom_resp | prenom_resp
    ---------+----------+-------------
     Master  | Amanton  | Laurent
     Licence | Balev    | Stefan
    (2 rows)