Daniele Merli
a- a+

Privilegi sulle Tavole

Quando si accede a una macchina fornita di un sistemaoperativo multiutente bisogna eseguire la procedura di logindurante la quale l'utente viene identificato con un nomeassociato a quell'accesso.
Se si dispone di un sistema di database installato su unamacchina multiutente esiste quasi sicuramente lapossibilita' che piu' persone possano lavorare vicinoa questo, magari anche contemporaneamente.
Chiaramente, in questo caso, si deve regolamentare ipermessi d'accesso alle tavole per fare in modo che ognipersona faccia esattamente quello che deve, o che puo',fare senza correre il pericolo che avvengano modifiche ooperazioni non gradite sulle tavole da parte di personeestranee o non autorizzate.
Colui che crea un certa tavola puo' stabilire qualioperazioni possono essere eseguite. 
SQL disponedella funzione GRANT destinata a questa operazione.
La sintassi generalizzata e':

GRANT lista[ALL] ON tavola TO lista[PUBLIC];

Ad esempio:

GRANT ALL ON TAVOLA1 TO PUBLIC;

permette a chiunque di eseguire qualsiasi statement sullaTAVOLA1.

GRANT INSERT, SELECT ON TAVOLA1 TO MARIO;

permette l'inserimento e il query all'utenteidentificato come Mario.

GRANT UPDATE(NOME,IMPORTO) ON TAVOLA1 TO MARIO;

permette a Mario di modificare i campi NOME e IMPORTO diTAVOLA1.

GRANT ALL ON TAVOLA1 TO MARIO,LUCY,FRANCO;

permette l'esecuzione di tutti gli statement a Mario,Lucy e a Franco.
La revoca dei permessi puo' essere eseguita con il verboREVOKE.
Ad esempio:

REVOKE ALL ON TAVOLA1 FROM MARIO;

rimuove tutti i diritti a Mario.

REVOKE INSERT ON TAVOLA1 FROM MARIO;

rimuove il permesso d'inserimento a Mario.