Langage de contrôle des données
L'objectif de cette séance est de tester les différentes commandes SQL permettant de gérer les droits des utilisateurs.
Vous vous servirez
du cours que nous avons étudié lors de la dernière séance.
Vous profiterez de cette séance pour terminer de mettre en œuvre les différentes requêtes rencontrées lors du dernier devoir.
Je vous rappelle que pour construire la base de données vous devez utiliser la séance sur
la base café.
Mais normalement cela a déjà été fait !
- 1 - Commencez par créer la base de données café (si cela n'est pas déjà fait) en introduisant les données indiquées sur la feuille du devoir.
- 2 - Ajoutez à la base de données les différentes contraintes nécessaires.
- 3 - Créer un utilisateur « admin » ayant accès à toute la base et ayant tous les droits.
- 4 - Créez un utilisateur « comptable » ayant accès à l'ensemble des tables de la base de données sauf la table serveur (pas de lecture possible). Sachant que le comptable est le seul avec l' « admin » à pouvoir modifier les prix des différentes consommations, attribuez lui les droits nécessaires. Pour cela vous devrez créer un rôle « acces-comptable ».
- 5 - Créez autant d'utilisateurs qu'il y a de serveurs : « Pizzi » « Cathy », « Totof », « Pilou » ... chacun devra avoir accès uniquement à ses informations et ses factures. Chacun des serveurs devra également pouvoir créer une nouvelle facture en indiquant la table et les différentes consommations servies ainsi que le total du par la table. Pour chaque serveur créez un rôle, par exemple « acces-Pizzi » pour Pizzi. Arrivé à ce stade montrez moi votre travail et comment vous avez résolu ce problème. Il vous faudra naturellement vérifier qu'un serveur ne peut pas accéder aux données d'un autre serveur. Donnez les droits directement sans passer par les rôles.
Information : Vous devez utiliser les vues.
- 6 - Créez une page en P.H.P. permettant à l'un des serveurs (vous pouvez ajouter un mot de passe à l'une des tables) lui permettant d'obtenir les informations sur les factures correspondantes aux tables servies ainsi que le chiffre d'affaires réalisé.
(Si vous n'avez jamais fait du P.H.P. faites ce travail en collaboration avec un G.S.I).
- 7 - Lorsque vous aurez terminé et avant la date limite, envoyez moi par mail l'ensemble de votre travail (en S.Q.L.), c'est à dire la création de la base, l'insertion des données, les différentes requêtes demandées dans le devoir ainsi que la création des différents utilisateurs. Vous détaillerez (S.Q.L. et en français) la description des droits que vous avez donnés à chacun des utilisateurs (inutile de répéter les explications s'il s'agit de la même méthode, par exemple pour les différents serveurs) et comment vous avez résolu le problème de la question (5) en expliquant les problèmes associés à cette situation. Vous inclurez également le code P.H.P.et éventuellement le nom de celle ou celui avec qui vous l'avez réalisé.
Bon courage.
L'ensemble du travail sera évalué. La question 7 permettant aux meilleurs de s'exprimer :-)
Cette question ne pourra que vous apporter un bonus.
Même si vous n'avez jamais fait du P.H.P. servez-vous de l'introduction que vous trouverez sur
amphi.net ainsi que des connaissances de vos voisins.
- Jeudi de la semaine prochaine vous aurez un devoir sur table d'environ une heure qui portera sur le S.Q.L. et les commandes GRANT, REVOKE et les vues..
Les vues seront détaillées mardi prochain.