SQL - requêtesLes vues

Une vue est une table virtuelle, ce qui veut dire que les données ne sont pas stockées dans une table de la base de données. On peut y rassembler des informations provenant de plusieurs tables.

On dit qu'une vue est représentation des données dans le but d'une exploitation visuelle. En général, on indiquera des valeurs calculées ou issues d'autres tables dans la vue. Les données présentes définies grâce à une clause select.

Une vue présente certains avantages:

L'information est dynamique: dès qu'une des tables utilisées pour créer la vue est modifiée, la vue est automatiquement mise à jour.
On peut restreindre l'accès à certains utilisateurs
Elle permet de regrouper des informations au sein d'une seule entité

Voici la syntaxe de création d'une vue:
create view nom_view as select...;

  1. mysql> create view age_abattage as
  2. select a.NUMOFFICIEL AS NUMOFFICIEL, (to_days(e.DATEVT)-to_days(a.DATNAI)) AS AGE_JOUR
  3. from d_evts e,d_animal a
  4. where (d.NUMOFFICIEL=a.NUMOFFICIEL) and (e.CODEVT=1001);

Dans l'exemple ci-dessu, ma requête permet de: Si je rajoute un animal à la table d_animal, rien ne changera dans ma vue. Par contre si pour cet animal je rajoute un événement de code 1001 (abattage) avec une date, alors ma vue sera automatiquement mise à jour.

Les vues peuvent être très pratiques pour des opérations que vous devrez fréquemment faire. Elles sont assez gourmandes en terme de mémoire, donc il faut les utiliser avec parcimonie.