Vue
Une vue est un moyen simple de nommer et conserver une requête SELECT
. Celle-ci peut s'avérer être un tableau de statistiques, une requête avec des multiples jointures, etc...
Créons une vue effectuant une jointure entre les tables vehicule
et marque
:
On peut ensuite lire depuis la vue:
Une vue n'est pas une copie de données mais bien la visualisation en temps réel des données dont elle dépend. Ainsi, si les données sont mises à jour dans une table, elles le seront dans la vue:
Lisez de nouveau depuis v_vehicules
.
Vue matérialisée
Une vue matérialisée présente une différence avec une vue classique: les données ne se mettent pas automatiquement à jour, il faut le faire manuellement.
Ce type de vue peut s'avérer utile pour certains cas d'usage:
- une requête avec un temps d'exécution long: la complexité de la requête ralentira la génération de la vue mais ne gênera pas la lecture car le résultat sera stocké.
- conserver une image des données à un instant précis: cela permet de garder les valeurs à l'instant donné sans empêcher la mise à jour dans les tables d'origine, par exemple pour des systèmes qui auraient besoin des valeurs chaque heure, jour, etc.
La déclaration d'une vue matérialisée est presque identique à celle d'une vue classique:
Si on modifie les données, ça ne sera pas visible dans la vue:
Il faut alors rafraîchir la vue: