ພາສາຄວບຄຸມຂໍ້ມູນ (DCL)

GRANT, REVOKE ແລະ DENY Database Permissions

ພາສາການຄວບຄຸມຂໍ້ມູນ (DCL) ແມ່ນຊຸດຂອງ ພາສາຄໍາຖາມແບບໂຄງສ້າງ (SQL) ແລະອະນຸຍາດໃຫ້ຜູ້ເບິ່ງແຍງລະບົບຖານຂໍ້ມູນການເຂົ້າເຖິງການຮັກສາຄວາມປອດໄພໃນຖານຂໍ້ມູນກ່ຽວຂ້ອງ. ມັນປະກອບດ້ວຍພາສາຄໍາສັບຂໍ້ມູນ (DDL) ເຊິ່ງຖືກນໍາໃຊ້ເພື່ອເພີ່ມແລະລຶບວັດຖຸຖານຂໍ້ມູນແລະພາສາການຈັດການຂໍ້ມູນ (DML) ທີ່ນໍາໃຊ້ເພື່ອດຶງເອົາ, ໃສ່ແລະດັດແປງເນື້ອຫາຂອງຖານຂໍ້ມູນ.

DCL ແມ່ນ simplest ຂອງ ຊຸດ SQL , ມັນປະກອບດ້ວຍພຽງແຕ່ສາມຄໍາສັ່ງ: GRANT, REVOKE, ແລະ DENY. ສົມທົບ, ສາມຄໍາສັ່ງເຫຼົ່ານີ້ໃຫ້ຜູ້ບໍລິຫານທີ່ມີຄວາມຍືດຫຍຸ່ນໃນການກໍານົດແລະເອົາການອະນຸຍາດຖານຂໍ້ມູນໃນຄົນອັບເດດ: granular ທີ່ສຸດ.

ເພີ່ມສິດດ້ວຍຄໍາສັ່ງ GRANT

ຄໍາສັ່ງ GRANT ແມ່ນໃຊ້ໂດຍຜູ້ບໍລິຫານເພື່ອເພີ່ມສິດໃຫມ່ແກ່ ຜູ້ໃຊ້ຖານຂໍ້ມູນ . ມັນມີ syntax ງ່າຍດາຍຫຼາຍ, ກໍານົດດັ່ງຕໍ່ໄປນີ້:

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

ນີ້ແມ່ນການລ່ວງລະເມີດກ່ຽວກັບແຕ່ລະພາລາມິເຕີທີ່ທ່ານສາມາດສະຫນອງດ້ວຍຄໍາສັ່ງນີ້:

ຕົວຢ່າງ, ສົມມຸດວ່າທ່ານຕ້ອງການໃຫ້ຜູ້ໃຊ້ Joe ສາມາດດຶງຂໍ້ມູນຈາກຕາຕະລາງພະນັກງານໃນຖານຂໍ້ມູນທີ່ເອີ້ນວ່າ HR. ທ່ານອາດຈະໃຊ້ຄໍາສັ່ງ SQL ຕໍ່ໄປນີ້:

ໃຫ້ GRANT SELECT ກ່ຽວກັບ HRemployees TO Joe

Joe ຕອນນີ້ຈະມີຄວາມສາມາດທີ່ຈະເອົາຂໍ້ມູນຈາກຕາຕະລາງພະນັກງານ. ລາວຈະບໍ່ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ອື່ນອະນຸຍາດໃຫ້ເອົາຂໍ້ມູນຈາກຕາຕະລາງນັ້ນມາຍ້ອນວ່າທ່ານບໍ່ປະກອບມີຂໍ້ກໍານົດທີ່ມີຂໍ້ກໍານົດຂອງ GRANT OPTION ໃນໃບຄໍາຮ້ອງ GRANT.

Revoking Access Database

ຄໍາສັ່ງ REVOKE ຖືກນໍາໃຊ້ເພື່ອລຶບການເຂົ້າເຖິງຖານຂໍ້ມູນຈາກຜູ້ໃຊ້ທີ່ຜ່ານມາໄດ້ຮັບການເຂົ້າເຖິງດັ່ງກ່າວ. syntax ສໍາລັບຄໍາສັ່ງນີ້ຖືກກໍານົດດັ່ງຕໍ່ໄປນີ້:

REVOKE [GRANT OPTION FOR] [permission] ON [object] FROM [user] [CASCADE]

ນີ້ແມ່ນການລ່ວງລະເມີດກ່ຽວກັບຕົວກໍານົດການສໍາລັບຄໍາສັ່ງ REVOKE:

ຕົວຢ່າງເຊັ່ນຄໍາສັ່ງຕໍ່ໄປນີ້ຖອນເອົາໃບອະນຸຍາດທີ່ອະນຸຍາດໃຫ້ Joe ໃນຕົວຢ່າງກ່ອນຫນ້ານີ້:

REVOKE SELECT ກ່ຽວກັບ HRemployees FROM Joe

ອະທິບາຍການເຂົ້າເຖິງຖານຂໍ້ມູນຢ່າງຊັດເຈນ

ຄໍາສັ່ງ DENY ຖືກນໍາໃຊ້ຢ່າງຫ້າວຫັນປ້ອງກັນຜູ້ໃຊ້ຈາກການໄດ້ຮັບອະນຸຍາດໂດຍສະເພາະ. ນີ້ແມ່ນປະໂຫຍດເມື່ອຜູ້ໃຊ້ເປັນສະມາຊິກຂອງບົດບາດຫຼືກຸ່ມທີ່ໄດ້ຮັບອະນຸຍາດແລະທ່ານຕ້ອງການປ້ອງກັນບໍ່ໃຫ້ຜູ້ໃຊ້ແຕ່ລະຄົນໄດ້ຮັບອະນຸຍາດໂດຍການສ້າງຂໍ້ຍົກເວັ້ນ. syntax ສໍາລັບຄໍາສັ່ງນີ້ແມ່ນດັ່ງຕໍ່ໄປນີ້:

DENY [ອະນຸຍາດ] ON [object] TO [user]

ພາລາມິເຕີສໍາລັບຄໍາສັ່ງ DENY ແມ່ນຄືກັບຄໍາທີ່ໃຊ້ສໍາລັບຄໍາສັ່ງ GRANT.

ຕົວຢ່າງເຊັ່ນຖ້າທ່ານຕ້ອງການໃຫ້ແນ່ໃຈວ່າແມັດທິວຈະບໍ່ໄດ້ຮັບຄວາມສາມາດລຶບຂໍ້ມູນຈາກຕາຕະລາງພະນັກງານ, ອອກຄໍາສັ່ງຕໍ່ໄປນີ້:

DENY DELETE ON HRemployees TO Matthew