Vous êtes sur la page 1sur 27

Vues

Vues

 Vue requête nommée

 Une vue est un objet de base de données qui résulte d'une requête SQL sur une ou plusieurs
tables ou vues existantes.

 Elle est définie par une requête SELECT qui spécifie les colonnes et les lignes à inclure dans la vue.

 Une vue est essentiellement une requête à laquelle on donne un nom et qui s’utilise comme une
table.

 Les données de la vue ne sont pas physiquement stockées mais se réfèrent à des données
stockées dans d’autres tables
Création d’une vue syntaxe
CREATE VIEW nom_de_la_vue AS
SELECT colonne1, colonne2, ...
FROM nom_de_la_table
WHERE condition;
[WITH READ ONLY]

Utilisation d’une vue comme si elle était une table

SELECT …. FROM nom de vue WHERE…


Vues

Suppression d’une vue


DROP VIEW nom de vue

• La suppression d’une vue n’entraîne pas la suppression des données

• Les vues figurent dans les tables systèmes (Dictionnaire de données) :


ALL_CATALOG, USER_VIEWS et ALL_VIEWS.)
Renommer une vue

RENAME ancien-nom TO nouveau-nom

5
Exemple
Exemple 1
Accès aux étudiants de INFO(idF=1)
Create View EtudMIG (matricule, prenom, nom, sexe , ville, Tel, Email)
As select matricule, prenom, nom, sexe , ville, Tel, Email from
etudiantM where idF =1

7
Exemple 2
Accès aux étudiants de GESTION(idF=2)
Create View EtudMFC (matricule, prenom, nom, sexe , ville, Tel, Email)
As select matricule, prenom, nom, sexe , ville, Tel, Email from
etudiantM where idF =2

Pour afficher les information des étudiants de MFC

Select * from EtudMFC;


8
Avantages des vues
• Requête complexe: remplacer une requête
compliquée par des requêtes plus simples
• Confidentialité: Les vues peuvent être utilisées pour
restreindre l'accès aux données en masquant certaines
colonnes ou lignes, en fonction des privilèges de
l'utilisateur.
• Contraintes d’intégrité 9
Requête
complexe

10
Requête complexe
 Remplacer une requête compliquée par
des requêtes plus simples

Trouver l’étudiant ayant la moyenne arithmétique


des notes CC la plus grande?

11
Confidentialité : exemple

Create View INFO_Conf(matricule, prenom, nom,


sexe , ville, idF)
As select matricule, prenom, nom, sexe , ville, idF
from etudiantM;

12
Contraintes d’intégrité (CHECK OPTION) :
exemple

CREATE VIEW Notes AS SELECT * FROM EvaluationM


WHERE NoteCC < 5 WITH CHECK OPTION;

UPDATE Notes SET NoteCC= Notecc+ 6

Sans 'WITH CHECK OPTION', c’est possible.


Avec 'WITH CHECK OPTION', c’est impossible.

13
Conditions de mise à jour pour
les vues
 Pour DELETE, INSERT la vue ne doit pas
contenir :
• Un opérateur ensembliste (UNION,
MINUS, INTERSECT)
• Un opérateur DISTINCT
• Une fonction d’agrégation comme attribut
• Une clause GROUP BY
• Une jointure (la vue doit être construite sur une
seule table)
• UPDATE, pour les colonne réelles

14
Conditions de mise à jour
pour les vues (2)

 Pour UPDATE, DELETE, INSERT :


• Les colonnes résultats de l’ordre SELECT
doivent être des colonnes réelles d’une table
de la base et non des expressions

15
Vue matérialisée
• Vue matérialisée : Une vue matérialisée est une vue dont les résultats
sont stockés en tant que table physique. Cela peut améliorer les
performances.

• Lorsque l'on fait une requête sur une vue matérialisée, on va donc
chercher directement des données dans celle-ci, sans passer par les
tables d'origine.
Vue matérialisée
Vue matérialisée

NB
• Les fichiers logs prennent le nom de la table maître préfixé par ‘MLOG$_’. Par exemple le fichier log de la
table client est MLOG$_CLIENT.
Fast
• Lorsque vous spécifiez FAST, la vue matérialisée est rafraîchie de
manière incrémentielle en ne mettant à jour que les données
modifiées depuis la dernière exécution de la commande de
rafraîchissement.

• Cela repose généralement sur l'utilisation de journaux de base de


données pour suivre les modifications apportées à la table source.
• L'option FAST peut améliorer les performances par rapport à
COMPLETE, mais elle nécessite une configuration supplémentaire.
Vue matérialisée
COMPLETE
• Lorsque vous spécifiez COMPLETE, la vue matérialisée est
entièrement rafraîchie à chaque exécution de la commande de
rafraîchissement.
• Cela signifie que toutes les données de la vue matérialisée sont
recalculées à partir des données de la table source.
• Bien que cela garantisse la précision des données, cela peut être
coûteux en termes de performances, en particulier pour de grandes
quantités de données.
Vue matérialisée
Vue matérialisée
Vue matérialisée
vues système
• Oracle propose plusieurs vues système, telles que DBA_VIEWS,
ALL_VIEWS, et USER_VIEWS, qui contiennent des informations sur les
vues présentes dans la base de données.
TP3

Vous aimerez peut-être aussi