Data Control Language (DCL)

PANGALAN, REVOKE at DENY Pahintulot sa Database

Ang Data Control Language (DCL) ay isang subset ng Nakabubuo na Query Language (SQL) at nagpapahintulot sa mga administrator ng database na i-configure ang access sa seguridad sa mga database ng pamanggit. Pinagsasama nito ang Data Definition Language (DDL), na ginagamit upang idagdag at tanggalin ang mga object database, at ang Data Manipulation Language (DML) na ginamit upang kunin, ipasok, at baguhin ang mga nilalaman ng isang database.

Ang DCL ang pinakasimpleng bahagi ng SQL subset , dahil binubuo ito ng tatlong utos lamang: GRANT, REVOKE, at DENY. Pinagsama, ang tatlong mga utos na ito ay nagbibigay ng mga administrator na may kakayahang umangkop upang itakda at alisin ang mga pahintulot sa database sa isang napakalaking butil na fashion.

Pagdaragdag ng Mga Pahintulot Sa GRANT Command

Ang utos ng GRANT ay ginagamit ng mga administrator upang magdagdag ng mga bagong pahintulot sa isang user ng database . Ito ay isang napaka-simpleng syntax, na tinukoy bilang mga sumusunod:

GRANT [pribilehiyo] ON [object] TO [user] [WITH GRANT OPTION]

Narito ang rundown sa bawat isa sa mga parameter na maaari mong ibigay sa utos na ito:

Halimbawa, ipagpalagay na nais mong bigyan ang user Joe ng kakayahang makuha ang impormasyon mula sa talahanayan ng mga empleyado sa isang database na tinatawag na HR. Maaari mong gamitin ang sumusunod na SQL command:

PANGALAN PUMILI SA HR.employees SA Joe

Magkakaroon na ngayon ng kakayahan si Joe na makuha ang impormasyon mula sa talahanayan ng mga empleyado. Gayunpaman, hindi siya magkakaloob ng pahintulot ng iba pang mga gumagamit na kunin ang impormasyon mula sa mesa na iyon dahil hindi mo isinasama ang MAY KAPANGYARIHAN na halalan sa GRANT na pahayag.

Pag-revoke ng Access sa Database

Ang command REVOKE ay ginagamit upang tanggalin ang pag-access sa database mula sa isang gumagamit na dati na ipinagkaloob sa ganitong pag-access. Ang syntax para sa command na ito ay tinukoy bilang mga sumusunod:

REVOKE [PANGUNAHING OPTION PARA] [pahintulot] ON [object] FROM [user] [CASCADE]

Narito ang rundown sa mga parameter para sa REVOKE command:

Halimbawa, binabawi ng sumusunod na utos ang pahintulot na ipinagkaloob kay Joe sa nakaraang halimbawa:

I-REVOKE PUMILI SA HR.employees FROM Joe

Malinaw na Pagtatanggol sa Access sa Database

Ang DENY command ay ginagamit upang malinaw na pigilan ang isang user na makatanggap ng isang partikular na pahintulot. Ito ay kapaki-pakinabang kapag ang isang gumagamit ay isang miyembro ng isang papel o grupo na binigyan ng pahintulot, at nais mong pigilan ang indibidwal na gumagamit na makamtan ang pahintulot sa pamamagitan ng paglikha ng isang pagbubukod. Ang syntax para sa command na ito ay ang mga sumusunod:

DENY [pahintulot] ON [object] TO [user]

Ang mga parameter para sa DENY command ay magkapareho sa mga ginagamit para sa GRANT command.

Halimbawa, kung nais mong matiyak na hindi matatanggap ni Matthew ang kakayahang tanggalin ang impormasyon mula sa talahanayan ng mga empleyado, i-isyu ang sumusunod na utos:

DENY DELETE ON HR.employees TO Matthew