Діаграма порівняння
Основа для порівняння | Грант | Скасувати |
---|---|---|
Основний | Команда "Грант" використовується для надання привілеїв користувачам. | Команда Revoke використовується для зняття привілеїв від користувачів. |
Коли контроль децентралізований | Надання простіше. | Відкликання досить складне для виконання. |
Синтаксис | грант на до; | відкликати на від; |
Визначення гранту
Адміністратор бази даних визначає команду GRANT в SQL для надання доступу або привілеїв користувачам бази даних. Три основних компонента, які беруть участь у авторизації, - це користувачі, привілеї (операції) і об'єкт бази даних. Користувачем є той, хто ініціює виконання прикладної програми. Операції - це компонент, який вбудований у прикладну програму. Операції виконуються на об'єктах бази даних, таких як відношення або ім'я перегляду.
SYNTAX команд GRANT:
грант
на
до;
Тут список привілеїв може включати операції вибору, вставки, оновлення та видалення або їх комбінації. Ці три аспекти команди перевіряються контролем авторизації перед тим, як продовжити.
Коли обліковий запис власника A1 відношення (таблиці) R надає привілеї іншому рахунку A2 на R, то обліковий запис A2 може отримати доступ до відношення R і має право надавати привілеї іншому обліковому запису на R. Якщо A1 скасовує привілеї від A2 тоді на R1 всі привілеї, які поширюються A2, будуть автоматично скасовані системою. Таким чином, саме так можна поширювати привілеї на таблиці. Таким чином, СУБД, що допускає розповсюдження, повинна слідувати привілеям, наданим таким чином, щоб привілеї могли бути легко відкликані.
Візьмемо приклад, щоб проілюструвати надання пільг. Ми маємо дві схеми для таблиць факультету і відділу і рахунки A1 і A2.
GRANT SELECT, INSERT, UPDATE ПО ФАКУЛЬТЕТУ, ВІДДІЛ ДО А1, А2;
У наведеному вище прикладі облікові записи А1 і А2 дозволяють виконувати операції вибору, вставки і оновлення на таблиці працівників і відділів.
Визначення відкликання
Команда REVOKE в SQL визначається, щоб забрати надані привілеї (авторизації) від користувача бази даних. Той, хто має право відкликати привілеї, є адміністратором бази даних.
SYNTAX команди REVOKE:
відкликати
на
від;
Команда схожа на команду grant, за винятком ключового слова revoke і "from". У даній команді операції, включені в привілей, скасовуються для конкретного користувача або списку ролей. Відкликання стає складним, коли привілеї поширюються від одного користувача до іншого.
Візьмемо подібний приклад, щоб проілюструвати скасування привілеїв.
REVOKE INSERT, UPDATE ПО ФАКУЛЬТЕТУ, ВІДДІЛУ А1, А2;
У наведеному вище прикладі облікові записи A1 і A2 вилучаються зі своїх прав і не дозволяється виконувати операції вставки та оновлення на таблиці працівників і відділів.
Основні відмінності між грантом та скасуванням
- Команда "Грант" надає користувачеві привілеї, тоді як команда "Відклик" вилучає привілеї від користувача.
- У централізованій системі команди DCL GRANT і REVOKE можуть бути легко виконані. Коли управління децентралізовано, запити є більш гнучкими, але складними. Команда GRANT має справу легко, але у випадку команди REVOKE вона рекурсивна.
Висновок
Команда GRANT надає користувачам права доступу або доступ до об'єктів бази даних. З іншого боку, команда REVOKE використовується для видалення прав або привілеїв від користувачів на об'єктах бази даних.