Bonjour,

Dans le cadre d'un TP, j'ai quelques commandes SQL à trouver pour gérer les droits sur la base de données.
Et j'ai un peu de mal avec certaines des commandes que je dois écrire même en ayant regardé la documentation de postgreSQL.

Donc voici mes problèmes :

- J'ai une table livres avec différents attributs.
On me demande donc : tous les utilisateurs peuvent retrouver les titres, codes et prix des livres.

Pour le moment j'ai ça :

grant select on table livres to public;
Là, le problème c'est que tout le monde peut avoir accès à toutes les colonnes de la table livres. Dans le doc, je ne trouve pas de précisions pour savoir si on peut limiter l'accès à certaines colonnes en faisant quelque chose comme ça :

grant select on table livres(code_livre, titre_livre, prix_livre) to public;

- X peut créer un index sur la table livres

grant create on tablespace livres to X;
Je pense que c'est ça mais je ne suis pas sur. Si quelqu'un pouvait me confirmer.


- X peut modifier la structure de la table livres

Là par contre, je ne sais pas comment faire. Quelqu'un aurait une idée ?


- X peut modifier la quantite en stock des livres de code_livre = 2 mais ne peut accéder aux données des autres livres.

grant update(quantite_stock) on livres to X;
Là, je n'arrive pas à rajouter le fait que code_livre doit être égal à 2 pour que X puisse mettre à jour quantite_stock.

Si quelqu'un pouvait m'expliquer ces 2 ou 3 points ça serait sympa.


Merci d'avance.

Sylvain.[/quote]