Grafico comparativo
Base per il confronto | Concedere | Revocare |
---|---|---|
Di base | Il comando grant è usato per dare i privilegi agli utenti. | Il comando Revoca viene utilizzato per rimuovere i privilegi dagli utenti. |
Quando il controllo è decentrato | La concessione è più semplice. | Revocare è abbastanza complesso da eseguire. |
Sintassi | concedere sopra a ; | revocare sopra a partire dal ; |
Definizione di sovvenzione
L'amministratore del database definisce il comando GRANT in SQL per fornire l'accesso o i privilegi agli utenti del database. Tre componenti principali coinvolti nell'autorizzazione sono gli utenti, i privilegi / i (operazioni) e un oggetto di database. L' utente è colui che attiva l'esecuzione del programma applicativo. Le operazioni sono il componente incorporato in un programma applicativo. Le operazioni vengono eseguite su oggetti di database come relazione o nome vista.
SINTASSI del comando GRANT:
concedere
sopra
a ;
Qui l'elenco dei privilegi potrebbe coinvolgere selezionare, inserire, aggiornare e cancellare operazioni o una combinazione di esse. Questi tre aspetti del comando sono controllati dal controllo dell'autorizzazione prima di procedere.
Quando un account proprietario A1 della relazione (tabella) R concede il privilegio ad un altro account A2 su R, l'account A2 può accedere alla relazione R ed è autorizzato a concedere i privilegi a un altro account su R. Se la A1 revoca i privilegi da A2 su R1, quindi, tutti i privilegi che A2 ha propagato verranno revocati automaticamente dal sistema. Quindi, questo è il modo in cui i privilegi sulle tabelle possono propagarsi. Pertanto, un DBMS che consente la propagazione dovrebbe seguire i privilegi che sono concessi in modo tale che i privilegi possano essere revocati facilmente.
Facciamo un esempio per illustrare la concessione dei privilegi. Abbiamo due schemi per le facoltà e il dipartimento delle tabelle e gli account A1 e A2.
GRANT SELECT, INSERT, UPDATE ON FACULTY, DEPARTMENT TO A1, A2;
Nell'esempio sopra riportato, l'account A1 e A2 sono autorizzati a eseguire le operazioni di selezione, inserimento e aggiornamento sulla tabella dipendente e dipartimento.
Definizione di Revoca
Il comando REVOKE in SQL è definito per rimuovere i privilegi (autorizzazioni) concessi dall'utente del database. Colui che ha l'autorità di revocare i privilegi è l'amministratore del database.
SINTASSI del comando REVOKE:
revocare
sopra
a partire dal ;
Il comando è simile al comando grant, ad eccezione della parola chiave revoke e 'from'. Nel comando dato, le operazioni incluse nel privilegio vengono annullate per il particolare utente o elenco di ruoli. La revoca diventa complessa quando i privilegi vengono propagati da un utente all'altro.
Prendiamo l'esempio simile per illustrare il revocare dei privilegi.
REVOKE INSERT, UPDATE ON FACULTY, DEPARTMENT FROM A1, A2;
Nell'esempio sopra riportato, gli account A1 e A2 vengono ritirati dai loro diritti e non sono autorizzati a eseguire operazioni di inserimento e aggiornamento sulla tabella dipendente e dipartimento.
Differenze chiave tra Grant e Revoke
- Il comando Grant conferisce i privilegi all'utente mentre il comando Revoca ritira i privilegi dall'utente.
- Nel sistema centralizzato, i comandi DCL GRANT e REVOKE possono essere eseguiti facilmente. Quando il controllo è decentralizzato, le query sono più flessibili ma complesse. Il comando GRANT è facile da gestire, ma nel caso del comando REVOKE, è ricorsivo nel modo.
Conclusione
Il comando GRANT fornisce i privilegi o l'accesso agli utenti sugli oggetti del database. D'altra parte, il comando REVOKE viene utilizzato per la rimozione dei diritti o dei privilegi dagli utenti sugli oggetti del database.