Рекомендуем, 2024

Выбор редакции

Разница между грантом и отзывом

В SQL команды DCL используются для назначения различных полномочий пользователю, этот тип полномочий известен как привилегия. Команды Grant и Revoke являются командами DCL. Команда GRANT используется для предоставления авторизации пользователям, а команда REVOKE - для отмены авторизации. Выбор, вставка, обновление и удаление - некоторые из привилегий, которые включены в стандарты SQL.

Сравнительная таблица

Основа для сравненияГрантотзывать
основнойКоманда Grant используется для предоставления привилегий пользователям.Команда Revoke используется для отмены привилегий у пользователей.
Когда контроль децентрализованПредоставление проще.Отзыв довольно сложен для выполнения.
Синтаксисдаровать
на
к;
отзывать
на
от ;

Определение гранта

Администратор базы данных определяет команду GRANT в SQL для предоставления доступа или привилегий пользователям базы данных. Три основных компонента, которые участвуют в авторизации, - это пользователи, привилегии / операции (операции) и объект базы данных. Пользователь - это тот, кто запускает выполнение прикладной программы. Операции - это компонент, который встроен в прикладную программу. Операции выполняются с объектами базы данных, такими как отношение или имя представления.

Синтаксис команды GRANT:

даровать
на
к;

Здесь список привилегий может включать операции выбора, вставки, обновления и удаления или их комбинацию. Эти три аспекта команды проверяются контролем авторизации перед продолжением.

Когда учетная запись владельца A1 отношения (таблица) R предоставляет привилегию другой учетной записи A2 на R, то учетная запись A2 может получить доступ к отношению R и уполномочена предоставлять привилегии другой учетной записи на R. Если A1 отменяет привилегии от A2 тогда на R1 все привилегии, которые распространял A2, будут автоматически отменены системой. Так вот, как могут распространяться привилегии на таблицы. Таким образом, СУБД, разрешающая распространение, должна следовать предоставленным привилегиям, чтобы их можно было легко отозвать.

Давайте рассмотрим пример, иллюстрирующий предоставление привилегий. У нас есть две схемы для таблиц Факультет и Кафедра и счетов А1 и А2.

ВЫБОР ГРАНТА, ВСТАВКА, ОБНОВЛЕНИЕ НА ФАКУЛЬТЕТЕ, ОТДЕЛ А1, А2;

В приведенном выше примере учетной записи А1 и А2 разрешено выполнять операции выбора, вставки и обновления таблицы сотрудника и отдела.

Определение отзыва

Команда REVOKE в SQL определена, чтобы отобрать предоставленные привилегии (полномочия) у пользователя базы данных. Тот, кто имеет право отозвать привилегии, является администратором базы данных.

Синтаксис команды REVOKE:

отзывать
на
от ;

Команда аналогична команде grant, за исключением ключевого слова revoke и 'from'. В данной команде операции, включенные в привилегию, отменяются для конкретного пользователя или списка ролей. Отзыв становится сложным, когда привилегии распространяются от одного пользователя к другому.

Давайте возьмем аналогичный пример, чтобы проиллюстрировать отзыв привилегий.

ОТМЕНИТЬ ВСТАВКУ, ОБНОВЛЕНИЕ НА ФАКУЛЬТЕТЕ, ОТДЕЛ ОТ А1, А2;

В приведенном выше примере учетные записи А1 и А2 лишены своих прав, и им не разрешено выполнять операции вставки и обновления таблицы сотрудника и отдела.

Ключевые различия между грантом и отзывом

  1. Команда Grant предоставляет привилегии пользователю, в то время как команда Revoke отзывает привилегии у пользователя.
  2. В централизованной системе команды DCL GRANT и REVOKE могут быть легко выполнены. Когда управление децентрализовано, запросы становятся более гибкими, но сложными. С командой GRANT легко работать, но в случае команды REVOKE она рекурсивна.

Заключение

Команда GRANT дает привилегии или доступ пользователям к объектам базы данных. С другой стороны, команда REVOKE используется для удаления прав или привилегий у пользователей объектов базы данных.

Top