Windows

Язык управления данными (DCL)

Язык управления данными является подмножеством языка структурированных запросов . Администраторы баз данных используют DCL для настройки безопасного доступа к реляционным базам данных. Он дополняет язык определения данных , который добавляет и удаляет объекты базы данных, и язык манипулирования данными, который извлекает, вставляет и изменяет содержимое базы данных.

DCL является самым простым из подмножеств SQL , поскольку он состоит только из трех команд: GRANT, REVOKE и DENY. В совокупности эти три команды предоставляют администраторам возможность гибко устанавливать и удалять разрешения базы данных.

Добавление разрешений с помощью команды GRANT

Команда GRANT добавляет новые разрешения пользователю базы данных . У него очень простой синтаксис, определенный следующим образом:

GRANT [привилегия] 
ON [объект]
[пользователь]
[с опцией GRANT]

Вот краткое описание каждого из параметров, которые вы можете указать с помощью этой команды:

  • Привилегия  — может быть ключевым словом ALL (для предоставления широкого спектра разрешений) или определенным разрешением базы данных или набором разрешений. Примеры включают CREATE DATABASE, SELECT, INSERT, UPDATE, DELETE, EXECUTE и CREATE VIEW.
  • Объект  — может быть любым объектом базы данных. Допустимые параметры привилегий зависят от типа объекта базы данных, который вы включаете в это предложение. Как правило, объект будет либо базой данных, функцией, хранимой процедурой , таблицей или представлением.
  • Пользователь  — может быть любым пользователем базы данных. В этом пункте вы также можете заменить роль пользователя, если хотите использовать безопасность баз данных на основе ролей.
  • Если вы добавите необязательное условие WITH GRANT OPTION в конце команды GRANT, вы не только предоставите указанному пользователю разрешения, определенные в операторе SQL, но и дадите пользователю разрешение на дальнейшее предоставление тех же разрешений другим пользователям базы данных. По этой причине используйте этот пункт с осторожностью.

Например, предположим, что вы хотите предоставить пользователю Джо возможность извлекать информацию из таблицы сотрудников в базе данных с именем HR . Используйте следующую команду SQL:

ГРАНТ ВЫБРАТЬ 
НА HR.mployees
TO Джо

Джо может получить информацию из таблицы сотрудников. Однако он не сможет предоставить другим пользователям разрешение на извлечение информации из этой таблицы, потому что сценарий DCL не включает предложение WITH GRANT OPTION.

Отмена доступа к базе данных

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

REVOKE [GRANT OPTION FOR] [разрешение] 
ON [объект]
FROM [пользователь]
[CASCADE]

Вот краткое описание параметров команды REVOKE:

  • Разрешение — указывает полномочия базы данных для удаления от идентифицированного пользователя. Команда отменяет утверждения GRANT и DENY, ранее сделанные для указанного разрешения.
  • Объект — может быть любым объектом базы данных. Допустимые параметры привилегий зависят от типа объекта базы данных, который вы включаете в это предложение. Как правило, объектом является база данных, функция, хранимая процедура, таблица или представление.
  • Пользователь — может быть любым пользователем базы данных. В этом пункте вы также можете заменить роль пользователя, если хотите использовать безопасность баз данных на основе ролей.
  • Предложение GRANT OPTION FOR удаляет возможность указанного пользователя предоставлять указанное разрешение другим пользователям. Если вы включите предложение GRANT OPTION FOR в оператор REVOKE, основное разрешение не будет отменено. Этот пункт отменяет только возможность предоставления.
  • Опция CASCADE также аннулирует указанное разрешение от любых пользователей, которым указанный пользователь предоставил разрешение.

Следующая команда отменяет разрешение, предоставленное Джо в предыдущем примере:

Похожие посты
Windows

Драйверы для Windows 10

Windows

Лучшие приложения для фотографии на вашем Windows Phone

Windows

Команды командной строки для панели управления апплетами

Windows

Официальное приложение SmugMug теперь доступно для Windows Phone