Database Reference
In-Depth Information
Tableau 4-6 : Interrogation d'une vue complexe
Besoin
Requête et résultat
Nom.des.départements.et.du.manager.où.la.moyenne.
des.salaires.dépasse.9 000.en.affichant.l'écart.entre.le.
plus.haut.et.le.plus.bas.salaire,.en.triant.sur.la.moyenne.
des.salaires.
SELECT departement, manager,
(max_sal - min_sal) ecart_max,
moyenne_sal
FROM soutou.v_dept_calculs
WHERE moyenne_sal > 9000
ORDER BY 4;;
DEPARTEMENT MANAGER ECART_MAX MOYENNE_SAL
------------------ ----------- ----------- -------------
Sales Russell 7290 9492.6
Marketing Hartstein 7700 10450
Public Relations Baer 0 11000
Accounting Higgins 4078.8 11169.4
Executive King 7000 19333.3
Il est possible de mettre à jour toutes les vues, soit directement, soit indirectement par
l'intermédiaire de déclencheurs INSTEAD OF ( RULE et FUNCTION pour PostgreSQL).
Vues modiiables
Lorsqu'il.est.possible.d'exécuter.des.instructions. INSERT ,. UPDATE .ou. DELETE .directement.sur.
une.vue,.elle.est.dite.modifiable.( updatable view )..Pour.mettre.à.jour.une.vue.simple,.il.doit.
exister.une.correspondance.biunivoque.entre.les.lignes.de.la.vue.et.celles.de.l'objet.source..
Pour.pouvoir.mettre.à. jour.une.vue.complexe,. il.est.nécessaire.de.programmer.un.déclen-
cheur.de.type. INSTEAD OF .
Il va de soi qu'une vue créée avec la directive WITH READ ONLY ne peut être mise à jour quelle
que soit sa structure…
La première vue monotable (employés dont le salaire dépasse 10 000) citée en exemple est
modiiable sous réserve de renseigner les colonnes déclarées non nulles (la clé primaire en fait
partie). Ici, la condition de correspondance biunivoque est respectée.
En revanche, la deuxième vue multitable (employés, manager et détails sur les employés) ne
peut pas être mise à jour d'une manière directe, car d'une part, la clé primaire n'est pas pré-
sente, d'autre part, les résultats fournis proviennent de calculs d'agrégats et il serait insensé de
vouloir insérer un calcul directement.
Le tableau suivant présente quelques mises à jour possibles (sous réserve de respecter en amont
les contraintes de clés et de valeurs qui existent au niveau de la table source).
 
Search WWH ::




Custom Search