Ieteicams, 2020

Redaktora Izvēle

Starpība starp dotāciju un atcelšanu

SQL, DCL komandas tiek izmantotas, lai piešķirtu lietotājam dažādas atļaujas, šāda veida autorizācija ir pazīstama kā privilēģija. Piešķiršanas un atcelšanas komandas ir DCL komandas. Komandu GRANT izmanto, lai piešķirtu autorizāciju lietotājiem, bet REVOKE komanda tiek izmantota atļaujas atsaukšanai. Atlasīt, ievietot, atjaunināt un dzēst ir dažas privilēģijas, kas iekļautas SQL standartos.

Salīdzinājuma diagramma

Salīdzināšanas pamatsDotācijaAtcelt
PamataPiešķiršanas komanda tiek izmantota, lai piešķirtu tiesības lietotājiem.Komandas atcelšana tiek izmantota, lai atņemtu lietotāju tiesības.
Kad kontrole ir decentralizētaPiešķiršana ir vienkāršāka.Atcelšana ir diezgan sarežģīta.
Sintaksedotāciju
ieslēgts
uz;
atsaukt
ieslēgts
no;

Dotācijas definīcija

Datu bāzes administrators definē GRANT komandu SQL, lai dotu piekļuvi vai privilēģijas datu bāzes lietotājiem. Trīs galvenās sastāvdaļas, kas ir iesaistītas atļaujā, ir lietotāji, privilēģijas / operācijas un datu bāzes objekts. Lietotājs ir tas, kurš aktivizē lietojumprogrammas izpildi. Darbības ir komponents, kas ir iestrādāts lietojumprogrammā. Darbības tiek veiktas tādos datubāzes objektos kā relācija vai skata nosaukums.

GRANT komandas SINTAX:

dotāciju
ieslēgts
uz;

Šeit privilēģiju sarakstā varētu iekļaut atlasi, ievietošanu, atjaunināšanu un dzēšanu vai to kombināciju. Šie trīs komandas aspekti tiek pārbaudīti pirms autorizācijas kontroles.

Ja attiecības (tabulas) R īpašnieka konts A1 piešķir privilēģiju citam R konta A2 kontam, tad konts A2 var piekļūt attiecībai R un ir pilnvarots piešķirt privilēģijas citam R kontam. Ja A1 atceļ tiesības no A2 uz R1 tad visas privilēģijas, ko A2 pavairoja, sistēma automātiski atcels. Tātad, tā kā tabulu privilēģijas var izplatīties. Tādējādi DBVS, kas atļauj izplatīšanu, jāievēro privilēģijas, kas piešķirtas tā, lai privilēģijas varētu viegli atcelt.

Pieņemsim piemēru, lai ilustrētu privilēģiju piešķiršanu. Mums ir divas shēmas tabulu fakultātēm un katedrām un kontiem A1 un A2.

ATBALSTA IZVĒLE, IERAKSTĪŠANA, FAKULTĀTES, DEPARTAMENTA UZ A1, A2 ATJAUNOŠANA

Iepriekš minētajā piemērā konts A1 un A2 drīkst veikt atlases, ievietošanas un atjaunināšanas darbības darbinieka un nodaļas tabulā.

Atcelšanas definīcija

SQL komanda REVOKE ir definēta, lai atņemtu piešķirtās privilēģijas (atļaujas) no datu bāzes lietotāja. Tas, kam ir tiesības atsaukt tiesības, ir datu bāzes administrators.

REVOKE komandas SINTAX:

atsaukt
ieslēgts
no;

Šī komanda ir līdzīga dotācijas komandai, izņemot atslēgvārdu atsaukšanu un “no”. Dotajā komandā privilēģijās iekļautās darbības tiek atceltas konkrētam lietotāju vai lomu sarakstam. Atcelšana kļūst sarežģīta, ja privilēģijas tiek izplatītas no viena lietotāja uz citu.

Pieņemsim līdzīgu piemēru, lai ilustrētu privilēģiju atsaukšanu.

REVOKE INSERT, FAKULTĀTES, DEPARTAMENTA ATJAUNOŠANA NO A1, A2;

Iepriekš minētajā piemērā A1 un A2 konti tiek izņemti no viņu tiesībām, un viņiem nav atļauts veikt ievietošanas un atjaunināšanas operācijas darbinieka un nodaļas tabulā.

Galvenās atšķirības starp dotāciju un atcelšanu

  1. Piešķiršanas komanda piešķir privilēģijas lietotājam, kamēr komanda Atcelt komandu atsauc lietotāja tiesības.
  2. Centralizētajā sistēmā var viegli izpildīt DCL komandas GRANT un REVOKE. Kad kontrole ir decentralizēta, vaicājumi ir elastīgāki, bet sarežģītāki. GRANT komanda ir viegli apstrādājama, bet REVOKE komandas gadījumā tā ir rekursīva.

Secinājums

Komanda GRANT dod privilēģijas vai piekļuvi datu bāzu objektu lietotājiem. No otras puses, komanda REVOKE tiek izmantota, lai no lietotāju datubāzes objektu tiesībām noņemtu tiesības vai privilēģijas.

Top