Recomandat, 2020

Alegerea Editorului

Diferența dintre acordare și revocare

În SQL, comenzile DCL sunt utilizate pentru alocarea diferitelor autorizări utilizatorului, aceste tipuri de autorizații sunt cunoscute ca privilegii. Grant și Revoke sunt comenzile DCL. Comanda GRANT este utilizată pentru a conferi autorizația utilizatorilor, în timp ce comanda REVOKE este utilizată pentru retragerea autorizației. Selectați, inserați, actualizați și ștergeți sunt unele dintre privilegiile care sunt incluse în standardele SQL.

Diagramă de comparație

Bazele de comparațieAcordaRevoca
De bazăComanda Grant este folosită pentru acordarea privilegiilor utilizatorilor.Comanda Revoke este folosită pentru a scoate privilegiile de la utilizatori.
Atunci când controlul este descentralizatAcordarea este mai simplă.Revocarea este destul de complexă.
Sintaxăacorda
pe
la ;
revoca
pe
din;

Definiția Grant

Administratorul bazei de date definește comanda GRANT din SQL pentru acordarea accesului sau privilegiilor utilizatorilor bazei de date. Trei componente principale care sunt implicate în autorizare sunt utilizatorii, privilegiile / s (operațiunile) și un obiect de bază de date. Utilizatorul este cel care declanșează executarea programului de aplicație. Operațiile sunt componenta care este încorporată într-un program de aplicații. Operațiile sunt efectuate pe obiecte de bază de date, cum ar fi relația sau numele de vizualizare.

SINTAX de comandă GRANT:

acorda
pe
la ;

Aici lista de privilegii ar putea implica operații de selectare, inserare, actualizare și ștergere sau combinarea acestora. Aceste trei aspecte ale comenzii sunt verificate prin controlul autorizației înainte de a continua.

Atunci când un cont de proprietar A1 al relației (tabel) R acordă privilegiul unui alt cont A2 pe R atunci contul A2 poate accesa relația R și este autorizat să acorde privilegiile unui alt cont pe R. Dacă A1 revocă privilegiile de la A2 pe R1, toate privilegiile pe care le propagă A2 vor fi revocate automat de sistem. Deci, astfel se pot propaga privilegiile pe tabele. Astfel, un DBMS care permite propagarea ar trebui să urmeze privilegiile acordate astfel încât privilegiile să poată fi revocate cu ușurință.

Să luăm un exemplu pentru a ilustra Acordarea privilegiilor. Avem două scheme pentru tabelele Facultatea și Departamentul și conturile A1 și A2.

GRANT SELECT, INSERT, UPDATE PE FACULTATEA, DEPARTAMENTUL LA A1, A2;

În exemplul de mai sus, contul A1 și A2 au permisiunea de a efectua operațiunile de selectare, inserare și actualizare din tabelul angajaților și departamentelor.

Definiția Revoke

Comanda REVOKE din SQL este definită pentru a îndepărta privilegiile (autorizațiile) acordate de utilizatorul bazei de date. Cel care are autoritatea de a retrage privilegiile este administratorul bazei de date.

SYNTAX de comandă REVOKE:

revoca
pe
din;

Comanda este similară cu comanda de acordare, cu excepția cuvântului cheie revocat și "de la". În comanda dată, operațiile incluse în privilegiu sunt anulate pentru utilizatorul respectiv sau lista de roluri. Revocarea devine complexă atunci când privilegiile sunt propagate de la un utilizator la altul.

Să luăm exemplul similar pentru a ilustra Revocarea privilegiilor.

REVOKE INSERT, UPDATE DE FACULTATEA, DEPARTAMENTUL DIN A1, A2;

În exemplul de mai sus, conturile A1 și A2 sunt retrase din drepturile lor și nu li se permite să efectueze operațiuni de inserare și actualizare a tabelelor angajaților și departamentelor.

Principalele diferențe între acordarea și revocarea

  1. Comanda Grant conferă privilegiile utilizatorului, în timp ce comanda Revoke retrage privilegiile utilizatorului.
  2. În sistemul centralizat, comenzile DCL GRANT și REVOKE pot fi executate cu ușurință. Atunci când controlul este descentralizat, interogările sunt mai flexibile, dar mai complexe. Comanda GRANT este ușor de rezolvat, dar în cazul comenzii REVOKE este recursiv în manieră.

Concluzie

Comanda GRANT oferă privilegiile sau accesul utilizatorilor pe obiectele bazei de date. Pe de altă parte, comanda REVOKE este folosită pentru a elimina drepturile sau privilegiile utilizatorilor din obiectele bazei de date.

Top