Bases de données – L2 S3 informatique
TP4 SQL Manipulation des vues et des droits d’accès (langage de
contrôle)
Le but de ce TP est de manipuler
des vues, ainsi que des commandes du langage de contrôle
permettant de donner des droits sur ces vues à d’autres utilisateurs.
Pour exécuter les commandes de passation/révocation de
privilèges (GRANT, REVOKE) sur une table ou vue à d’autres comptes
utilisateurs, il faudra donc travailler en binôme.
1. Création et manipulation de vues
1. Créer une vue nommée «
circuit_pas_cher » contenant le n° de circuit et le prix des circuits
de prix inférieur à 200 euros.
- vérifier dans la table système "user_views" la présence de cette vue.
- insérer un tuple à travers la vue « circuit_pas_cher ». Que se
passe-t-il ?
2. Pour que la vue « circuit_pas_cher » puisse être modifiée, elle doit
reposer sur une table que vous avez le droit de modifier :
- créer une table « mon_circuit » identique à la table « circuit ».
- définir la vue « circuit_pas_cher » qui s’appuie sur votre table «
mon_circuit » sans utiliser l’option « check option ».
- peut-on insérer un circuit de prix supérieur à 200 euros à travers la
vue ?
- peut-on modifier le prix d'un circuit appartenant à la vue en
changeant son prix à 300 ?
3. Définir la vue « circuit_pas_cher » en utilisant l’option « check
option ». Qu’est-ce qui change par rapport à la définition précédente
sans « check option » ?
4. Créer une vue nommée « circuit_anglais » qui contient les numéros
des circuits dont au moins une des villes étape est en Angleterre.
Peut-on insérer des tuples à travers cette vue ?
2. Passation de privilèges sur les vues
1. Donner à votre binôme les droits d’accès en lecture (SELECT) sur
votre table « mon_circuit » :
- la vue « circuit_pas_cher » est-elle accessible en lecture par votre
binome ?
- sinon rendre cette vue accessible à votre binôme.
2. Visualiser les noms de tables (ou vues) pour lesquelles vous avez
cédé des privilèges.
3. Insérer un tuple à travers la vue « circuit_pas_cher » :
- votre binôme voit-il l’insertion ?
- sinon que faut-il faire pour rendre cette insertion visible ?
4. Donner à votre binôme des droits d’écriture (INSERT, DELETE, UPDATE)
sur la vue « circuit_pas_cher » :
- demander à votre binôme de réaliser une
insertion/modification/suppression à travers la vue. Les résultats
sont-ils visibles sur votre compte ?
5. Enlever à votre binôme le droit d’accès en lecture (SELECT) sur la
vue « circuit_pas_cher ». Vérifier qu’il les a bien perdus. Peut-il
toujours faire des insertions/modifications/suppressions ?