Введение
Набор инструкций, определяющий доступ к базе данных.
Язык управления данными (DCL) — это синтаксис, аналогичный языку программирования, используемый для управления доступом к данным, хранящимся в базе данных (авторизация). В частности, это компонент языка структурированных запросов (SQL). Язык управления данными является одной из логических групп в командах SQL. SQL — стандартный язык для реляционных систем управления базами данных. Операторы SQL используются для выполнения таких задач, как добавление данных в базу данных, удаление или обновление данных в базе данных, или извлечение данных из базы данных. Хотя системы баз данных используют SQL, они также имеют собственные дополнительные проприетарные расширения, которые обычно используются только в этих системах. Например, Microsoft SQL Server использует Transact-SQL (T-SQL), являющийся расширением SQL. Аналогично, Oracle использует PL/SQL, которое является их собственным расширением. Однако стандартные команды SQL, такие как "SELECT", "INSERT", "UPDATE", "DELETE", "CREATE" и "DROP", могут быть использованы для выполнения практически всего необходимого с базой данных. Примеры команд DCL включают: GRANT — для предоставления указанным пользователям возможности выполнять указанные задачи; REVOKE — для отзыва у пользователя доступа к объекту базы данных. Операции, для которых могут быть предоставлены или отозваны привилегии у пользователя или роли, применимы как к языку определения данных (DDL), так и к языку манипулирования данными (DML) и могут включать CONNECT, SELECT, INSERT, UPDATE, DELETE, EXECUTE и USAGE.
GRANT to allow specified users to perform specified tasks. REVOKE to remove the user accessibility to database object. The operations for which privileges may be granted to or revoked from a user or role apply to both the Data definition language (DDL) and the Data manipulation language (DML), and may include CONNECT, SELECT, INSERT, UPDATE, DELETE, EXECUTE, and USAGE.
Пример
В первом случае мы предоставили пользователю User1 привилегии SELECT, INSERT, UPDATE и DELETE на таблицу "employees". С помощью команды REVOKE мы можем отозвать привилегию, вернув её к значению по умолчанию. В данном случае мы отзываем привилегию INSERT на таблицу "employees" у пользователя User1. DENY – это специфическая команда. Можно сделать вывод, что у каждого пользователя есть список привилегий, которые либо запрещены, либо предоставлены, поэтому команда DENY используется для явного запрета определенных привилегий на объекты базы данных.