VIEW
En SQL, on peut enregistrer une requête qu'on utilise régulièrement et la réutiliser facilement dans d'autres requêtes. Pour ce faire on crée ce qu'on appelle une VIEW.
Avantages de créer une VIEW
- Simplification des requêtes
- Sécuriser des données sensibles
- Faciliter la maintenance
Il faut se rappeler qu'une view n'est pas une façon d'optimiser nos requêtes. Quand une view est utilisé dans une requête, la requête de la view est exécuté en premier lieu et ensuite la requête principale. On pourrait voir ça comme une sous-requête qui est plus simple à utiliser pour le programmeur.
Créer une VIEW
Pour créer une view, on utilise la déclaration CREATE VIEW
- Le nom de la view doit être unique dans la base de données, aucune autre view ni table ne doit avoir le même nom.
- Si on ajoute l'option OR REPLACE et que la view existe déjà, la nouvelle view va remplacer l'ancienne, sinon ça n'aura aucun effet.
- On peut définir optionnellement les noms de colonnes de la view, sinon les noms de colonnes seront celle de la requête select.
- Pour terminer, on ajoute une requête select. La requête peut interroger des tables et d'autres views.
Exemple
CREATE OR REPLACE VIEW etudiant_informatique (nom_complet, da)
AS
SELECT CONCAT(e.nom, ', ', e.prenom),
e.da
FROM etudiant e
INNER JOIN etudiant_concentration ec ON ec.etudiant_id = e.id
INNER JOIN concentration c ON c.id = ec.concentration
WHERE c.description = "Technique informatique";
Ensuite pour se servir de la view, on n'a qu'à utiliser la view comme une table :
Modifier une VIEW
Pour modifier une view, on peut utiliser la déclaration CREATE OR REPLACE VIEW ou bien ALTER VIEW. Les deux méthodes sont similaire dans leur résultat. On a déjà vu la syntaxe du CREATE OR REPLACE VIEW. Voici un exemple pour le ALTER VIEW :
On ne peut pas modifier le nom de la view par ces méthodes, pour se faire, on doit utiliser la déclaration RENAME TABLE