This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
� Vue : vision logique des données contenues dans une ou plusieurs table .
� Considérée comme une table virtuelle:� N’a pas d’existence propre.� Aucune donnée ne lui est associée.� Sa description est stockée sous la forme d’une requête.
En général, une vue = un nom + l’ordre SQL associé, stockés dans ledictionnaire de données.
Remarques :� Noms de colonnes facultatifs, par défaut ceux de la
table,nécessaire si certaines des colonnes spécifiées dans le SELECT sont des expressions calculées.
� OR RELACE : permet de modifier la vue sans avoir à la supprimer et la recréer.
� WITH CHECK OPTION: permet de restreindre les insertions et mise à jour des données à travers la vue aux données faisant partie de la sélection de la vue, avec possibilité de nommer la contrainte.
� WITH READ ONLY: interdit toute mise à jour en utilisant le nom de la vue dans un ordre insert, update, ou delete.
� Mise à jour limitée à travers une vue:� Insertion
INSERT INTO Pilote25_40 VALUE ( 4, ‘ Oufkir ‘, 20 );-> ajout accepté même si contraire au prédicat de la vue.-> Effet de bord contraire à la vue; Correction: WITH CHECK
OPTION CREATE OR REPLACE VIEW Pilote 25_40 AS SELECT * FROM Pilote WHERE ageP between 25 and 40 ;WITH CHECK OPTION
INSERT INTO Pilote25_40 VALUE ( 4, ‘ Oufkir ‘, 25 ) ->ajout
� Mise a jour à travers une vue dite modifiable si dans la clause :� Select DISTINCT absent ;� Les fonctions d’agrégation interdites: SUM, AVG,…� Vue définie sur une seule table de base ou sur une autre vue
modifiable.� Aucun opérateur ensembliste: UNION, INTERSECT, ..� Aucun groupement: GROUP BY ou HAVING;� Aucune sous requête dans le WHERE qui référence une table
Définition :Une table est dite protégée par sa clé (key preserved) si sa clé primaire est préservée dans la clause de jointure et se retrouve en tant que colonne de la vue multitable ( joue le rôle de clé primaire de la vue).
Règle:� Les colonnes modifiées doivent appartenir à une table avec
préservation ( key-preserved ):� Une MAJ est limitée qu’à une seule table de base dont la clé est
4. condition de UPDATE Dans une vue si jointure ( suite )� Pour UPDATE :
� Si option « WITH CHECK OPTION » : on ne peut pas mettre à jour une colonne utilisée dans la condition de jointure et seules les lignes vérifiant la vue sont mises à jour.
Règle: Toutes les colonnes dans lesquelles sont insérées des valeurs doivent provenir d’une table dont la clé primaire est préservée. SiCHECK OPTION pas d'insertion possibleExemple: