Odporúčaná, 2019

Redakcia Choice

Rozdiel medzi grantom a zrušením

V systéme SQL sa príkazy DCL používajú na priradenie používateľov rôznym oprávneniam, tieto typy autorizácií sú známe ako privilégiá. Príkazy Grant and Revoke sú príkazy DCL. Príkaz GRANT sa používa na udelenie autorizácie používateľom, zatiaľ čo príkaz REVOKE sa používa na odobratie autorizácie. Výber, vloženie, aktualizácia a odstránenie sú niektoré privilégiá, ktoré sú zahrnuté v štandardoch SQL.

Porovnávacia tabuľka

Základ pre porovnaniegrantodvolať
základnéPríkaz Grant sa používa na udelenie privilégií používateľom.Príkaz Revoke sa používa na odobratie privilégií od používateľov.
Keď je kontrola decentralizovanáPoskytovanie je jednoduchšie.Odvolanie je pomerne zložité.
syntaxudeliť
na
na;
odvolať
na
z;

Definícia grantu

Správca databázy definuje príkaz GRANT v systéme SQL na poskytnutie prístupu alebo privilégií používateľom databázy. Tri hlavné komponenty, ktoré sa týkajú autorizácie, sú používatelia, privilégiá (operácie) a databázový objekt. Používateľ je ten, kto spustí spustenie aplikačného programu. Operácie sú komponentom, ktorý je vložený do aplikačného programu. Operácie sa vykonávajú na objektoch databázy, ako je vzťah alebo názov pohľadu.

SYNTAX príkazu GRANT:

udeliť
na
na;

Zoznam oprávnení by mohol zahŕňať výber, vloženie, aktualizáciu a odstraňovanie operácií alebo ich kombináciu. Tieto tri aspekty príkazu sú skontrolované kontrolou autorizácie skôr, ako budete pokračovať.

Keď majiteľský účet A1 vzťahu (tabuľka) R udelí oprávnenie inému účtu A2 na R potom účet A2 môže pristupovať k vzťahu R a je oprávnený dať privilégiá na iný účet na R. Ak A1 odoberie privilégiá od A2 na R1 potom všetky oprávnenia, ktoré propaguje A2, budú automaticky zrušené systémom. Takto sa môžu rozšíriť privilégiá na tabuľky. Z tohto dôvodu by DBMS, ktorý umožňuje rozmnožovanie, mal dodržiavať udelené privilégiá, aby mohli byť privilégiá zrušené ľahko.

Ukážme príklad na udelenie privilégií. Máme dve schémy pre tabuľku Fakulty a oddelenie a účty A1 a A2.

GRANT SELECT, INSERT, UPDATE ON FACULTY, ODDELENIE A1, A2;

Vo vyššie uvedenom príklade je povolený účet A1 a A2 vykonávať operácie výberu, vloženia a aktualizácie v tabuľke zamestnancov a oddelení.

Definícia zrušenia

Príkaz REVOKE v systéme SQL je definovaný tak, aby odňal udelené oprávnenia (oprávnenia) od používateľa databázy. Ten, kto má právomoc stiahnuť privilégiá, je správca databázy.

SYNTAX príkazu REVOKE:

odvolať
na
z;

Príkaz je podobný príkazu grant, s výnimkou kľúčového slova "revoke" a "od". V danom príkaze sú operácie zahrnuté v privilégiách zrušené pre konkrétneho používateľa alebo zoznam úloh. Odvolanie sa stáva zložité, keď sú privilégiá propagované z jedného používateľa na druhé.

Ukážme podobný príklad, aby sme ilustrovali zrušenie privilégií.

REVOKE INSERT, AKTUALIZÁCIA FACULTY, ODDELENIE A1, A2;

Vo vyššie uvedenom príklade sú účty A1 a A2 stiahnuté z ich práv a nesmú vykonávať vloženie a aktualizáciu operácií v tabuľke zamestnancov a oddelení.

Kľúčové rozdiely medzi grantom a zrušením

  1. Príkaz Grant udeľuje používateľovi privilégiá, kým príkaz Revoke odoberie privilégiá od používateľa.
  2. V centralizovanom systéme je možné ľahko vykonať príkazy DCL GRANT a REVOKE. Keď je kontrola decentralizovaná, dotazy sú flexibilnejšie, ale zložité. Príkaz GRANT je ľahko spracovateľný, ale v prípade príkazu REVOKE je rekurzívny.

záver

Príkaz GRANT poskytuje používateľom privilégiá alebo prístup k objektom databázy. Na druhej strane príkaz REVOKE sa používa na odstránenie práv alebo privilégií od používateľov databázových objektov.

Top