Raccomandato, 2024

Scelta Del Redattore

Differenza tra Grant e Revoke

In SQL, i comandi DCL vengono utilizzati per assegnare le diverse autorizzazioni all'utente, questo tipo di autorizzazioni è noto come privilegio. I comandi Concedi e Revoca sono i comandi DCL. Il comando GRANT viene utilizzato per conferire l'autorizzazione agli utenti, mentre il comando REVOKE viene utilizzato per il ritiro dell'autorizzazione. Selezionare, inserire, aggiornare ed eliminare alcuni dei privilegi inclusi negli standard SQL.

Grafico comparativo

Base per il confrontoConcedereRevocare
Di baseIl comando grant è usato per dare i privilegi agli utenti.Il comando Revoca viene utilizzato per rimuovere i privilegi dagli utenti.
Quando il controllo è decentratoLa concessione è più semplice.Revocare è abbastanza complesso da eseguire.
Sintassiconcedere
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

  1. Il comando Grant conferisce i privilegi all'utente mentre il comando Revoca ritira i privilegi dall'utente.
  2. 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.

Top