แผนภูมิเปรียบเทียบ
พื้นฐานสำหรับการเปรียบเทียบ | แกรนท์ | ถอน |
---|---|---|
ขั้นพื้นฐาน | คำสั่ง Grant ใช้สำหรับมอบสิทธิ์พิเศษให้กับผู้ใช้ | คำสั่งเพิกถอนใช้สำหรับลบสิทธิ์จากผู้ใช้ |
เมื่อการควบคุมถูกกระจายอำนาจ | การอนุญาตนั้นง่ายกว่า | การเพิกถอนค่อนข้างซับซ้อนในการแสดง |
วากยสัมพันธ์ | อนุญาต บน ถึง; | ถอน บน จาก; |
นิยามของทุน
ผู้ดูแลระบบฐานข้อมูลกำหนดคำสั่ง GRANT ใน SQL เพื่อให้การเข้าถึงหรือสิทธิพิเศษแก่ผู้ใช้ฐานข้อมูล องค์ประกอบหลักสามประการที่เกี่ยวข้องกับการอนุญาตคือผู้ใช้สิทธิ์ / s (การทำงาน) และวัตถุฐานข้อมูล ผู้ใช้ คือคนที่ทริกเกอร์การทำงานของโปรแกรมแอปพลิเคชัน การดำเนินงาน เป็นองค์ประกอบที่ฝังอยู่ในโปรแกรมประยุกต์ การ ดำเนินการ จะดำเนินการกับวัตถุฐานข้อมูลเช่นความสัมพันธ์หรือชื่อมุมมอง
SYNTAX ของ GRANT คำสั่ง:
อนุญาต
บน
ถึง;
รายการสิทธิ์อาจเกี่ยวข้องกับการเลือกแทรกอัปเดตและลบการดำเนินการหรือการรวมกันของพวกเขา ทั้งสามด้านของคำสั่งถูกตรวจสอบโดยการควบคุมการอนุญาตก่อนดำเนินการต่อ
เมื่อบัญชีเจ้าของ A1 ของความสัมพันธ์ (ตาราง) R ให้สิทธิ์กับบัญชีอื่น A2 บน R ดังนั้นบัญชี A2 สามารถเข้าถึงความสัมพันธ์ R และได้รับอนุญาตให้มอบสิทธิ์ให้กับบัญชีอื่นใน R หาก A1 ยกเลิกสิทธิ์จาก A2 ใน R1 จากนั้นสิทธิ์ทั้งหมดที่ A2 propagated จะถูกเพิกถอนโดยอัตโนมัติโดยระบบ ดังนั้นนี่คือวิธีที่สิทธิ์ในตารางสามารถเผยแพร่ได้ ดังนั้น DBMS ที่อนุญาตให้เผยแพร่ควรปฏิบัติตามสิทธิ์ที่ได้รับเพื่อให้สามารถเพิกถอนสิทธิ์ได้อย่างง่ายดาย
ลองยกตัวอย่างเพื่อแสดงให้เห็นถึงการให้สิทธิพิเศษ เรามีสองแผนสำหรับตารางคณะและแผนกและบัญชี A1 และ A2
GRANT SELECT, INSERT, UPDATE ON FACULTY, DEPARTMENT ถึง A1, A2;
ในตัวอย่างที่ระบุข้างต้นบัญชี A1 และ A2 ได้รับอนุญาตให้ดำเนินการเลือกแทรกและอัปเดตการดำเนินงานในตารางพนักงานและแผนก
คำจำกัดความของการเพิกถอน
คำสั่ง เพิกถอน ใน SQL ถูกกำหนดให้นำสิทธิ์ที่ได้รับอนุญาตไปใช้ (การอนุญาต) จากผู้ใช้ฐานข้อมูล ผู้ที่มีสิทธิ์ถอนสิทธิ์คือผู้ดูแลระบบฐานข้อมูล
การเพิกถอนคำสั่งเพิกถอน:
ถอน
บน
จาก;
คำสั่งนั้นคล้ายกับให้คำสั่งยกเว้นสำหรับคำหลักที่เพิกถอนและ 'จาก' ในคำสั่งที่กำหนดการดำเนินการที่รวมอยู่ในสิทธิ์จะถูกยกเลิกสำหรับผู้ใช้หรือรายการบทบาท การเพิกถอนจะซับซ้อนเมื่อสิทธิ์ถูกเผยแพร่จากผู้ใช้รายหนึ่งไปยังผู้ใช้รายอื่น
ลองมาตัวอย่างที่คล้ายกันเพื่อแสดงให้เห็นถึงการเพิกถอนสิทธิ์
ถอนการ ติดตั้งปรับปรุงในคณะการกรม จาก A1, A2;
ในตัวอย่างที่ระบุข้างต้นบัญชี A1 และ A2 จะถูกถอนออกจากสิทธิ์ของพวกเขาและไม่ได้รับอนุญาตให้ทำการแทรกและอัปเดตการดำเนินงานในตารางพนักงานและแผนก
ความแตกต่างที่สำคัญระหว่างการให้และการเพิกถอน
- คำสั่ง Grant ให้สิทธิ์แก่ผู้ใช้ในขณะที่คำสั่งเพิกถอนจะถอนสิทธิ์จากผู้ใช้
- ในระบบรวมศูนย์คำสั่ง DCL GRANT และเพิกถอนสามารถดำเนินการได้อย่างง่ายดาย เมื่อมีการกระจายการควบคุมการสอบถามมีความยืดหยุ่นมากขึ้น แต่ซับซ้อน คำสั่ง GRANT นั้นง่ายต่อการจัดการ แต่ในกรณีของคำสั่งเพิกถอนคำสั่งจะเรียกซ้ำในลักษณะ
ข้อสรุป
คำสั่ง GRANT มอบสิทธิพิเศษหรือการเข้าถึงผู้ใช้บนวัตถุฐานข้อมูล ในทางกลับกันคำสั่งถอนจะใช้สำหรับการลบสิทธิ์หรือสิทธิ์จากผู้ใช้บนวัตถุฐานข้อมูล