Jump to content

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

(Перенаправлено с языка управления данными )

Язык управления данными ( DCL ) — это синтаксис, аналогичный языку программирования, используемый для управления доступом к данным, хранящимся в базе данных ( авторизация ). В частности, это компонент языка структурированных запросов (SQL). Язык управления данными — это одна из логических групп команд SQL. SQL [ 1 ] является стандартным языком для систем управления реляционными базами данных. Операторы SQL используются для выполнения таких задач, как вставка данных в базу данных, удаление или обновление данных в базе данных или получение данных из базы данных.

Хотя системы баз данных используют SQL, они также имеют свои собственные дополнительные расширения, которые обычно используются только в их системе. Например, сервер Microsoft SQL использует Transact-SQL (T-SQL), который является расширением SQL. Точно так же Oracle использует PL-SQL, который является их собственным расширением только для них. Однако стандартные команды SQL, такие как «Выбрать», «Вставить», «Обновить», «Удалить», «Создать» и «Удалить», можно использовать для выполнения практически всего, что нужно сделать с базой данных.

Примеры команд DCL включают в себя:

  • GRANT , чтобы позволить указанным пользователям выполнять указанные задачи.
  • REVOKE, чтобы удалить доступ пользователя к объекту базы данных.

Операции, для которых привилегии могут быть предоставлены или отозваны у пользователя или роли, применяются как к языку определения данных (DDL), так и к языку манипулирования данными (DML), и могут включать CONNECT , SELECT , INSERT , UPDATE, DELETE , EXECUTE , и ИСПОЛЬЗОВАНИЕ .

Microsoft SQL-сервер

[ редактировать ]

Согласно Microsoft SQL Server существует четыре группы команд SQL.

  • Язык манипулирования данными (DML)
  • Язык определения данных (DDL)
  • Язык управления данными (DCL [ 2 ] )
  • Язык управления транзакциями (TCL)

Команды DCL используются для контроля доступа и управления разрешениями пользователей в базе данных. С их помощью мы можем легко разрешить или запретить пользователям некоторые действия над таблицами или записями (безопасность на уровне строк).

Команды DCL:

ГРАНТ
Мы можем предоставить определенные права доступа к таблице (и другим объектам) указанным группам/пользователям базы данных.
ОТРИЦАТЬ
запрещает определенные разрешения группам/пользователям.
ОТЗЫВАТЬ
эта команда отбирает разрешения у групп/пользователей.

Например: GRANT можно использовать для предоставления пользователю привилегий на выполнение SELECT, INSERT, UPDATE и DELETE для определенной таблицы или нескольких таблиц.

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

Grant SELECT,INSERT,UPDATE,DELETE on Employee To User1

Revoke INSERT On Employee To user1

Deny Update On Employee to user1

GRANT: в первом случае мы предоставили пользователю User1 привилегии на выполнение SELECT, INSERT, UPDATE и DELETE в таблице сотрудников.

REVOKE с помощью этой команды мы можем вернуть привилегию к значению по умолчанию, в этом случае мы возвращаем команду INSERT для таблицы сотрудников для пользователя User1.

DENY — это особая команда. Мы можем заключить, что у каждого пользователя есть список привилегий, которые запрещены или предоставлены, поэтому команда DENY предназначена для явного запрета вам некоторых привилегий для объектов базы данных:

База данных Oracle

[ редактировать ]

База данных Oracle делит команды SQL на разные типы. Они есть.

  • Операторы языка определения данных (DDL)
  • Заявления языка манипулирования данными (DML)
  • Заявления о контроле транзакций
  • Операторы управления сеансом
  • Заявление об управлении системой
  • Операторы встроенного SQL

Подробную информацию см. в Oracle- [ 3 ] ТКЛ          

Операторы языка определения данных (DDL) позволяют выполнять следующие задачи:

  • Создание, изменение и удаление объектов схемы
  • Предоставлять и отзывать привилегии и роли
  • Анализ информации о таблице, индексе или кластере
  • Установите параметры аудита
  • Добавление комментариев в словарь данных

Таким образом, команды DDL базы данных Oracle включают в себя предоставление и отзыв привилегий, которые на самом деле являются частью языка управления данными на сервере Microsoft SQL.

Синтаксис предоставления и отзыва в базе данных Oracle:

GRANT SELECT, INSERT, UPDATE, DELETE ON db1.Employee TO user1;

REVOKE SELECT, INSERT, UPDATE, DELETE ON db1.Employee FROM user1;

Операторы управления транзакциями в Oracle

[ редактировать ]

Операторы управления транзакциями управляют изменениями, внесенными операторами DML. Операторы управления транзакциями:

  • СОВЕРШИТЬ
  • ОТкат
  • ТОЧКА СОХРАНЕНИЯ
  • УСТАНОВИТЬ ТРАНЗАКЦИЮ
  • УСТАНОВИТЬ ОГРАНИЧЕНИЕ

Сервер MySQL разделяет операторы SQL на операторы разных типов.

  • Заявления об определении данных
  • Заявления о манипулировании данными
  • Операторы транзакций и блокировки
  • Операторы репликации
  • Подготовленные заявления
  • Синтаксис составного оператора
  • Заявления по администрированию базы данных
  • Заявления об утилитах

Подробности см. в разделе Транзакционные операторы MySQL. [ 4 ]

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

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

  • GRANT не может совмещать предоставление привилегий и ролей в одном операторе. Данная инструкция GRANT должна предоставлять либо привилегии, либо роли.
  • Предложение ON определяет, предоставляет ли оператор привилегии или роли:
  • При включении оператор предоставляет привилегии
  • Без ON оператор предоставляет роли.
  • Разрешается назначать учетной записи как привилегии, так и роли, но вы должны использовать отдельные инструкции GRANT, синтаксис каждой из которых соответствует тому, что должно быть предоставлено.

Оператор REVOKE позволяет системным администраторам отзывать привилегии и роли, которые можно отозвать у учетных записей и ролей пользователей.

REVOKE INSERT ON *.* FROM 'jeffrey'@'localhost';

REVOKE 'role1', 'role2' FROM 'user1'@'localhost', 'user2'@'localhost';

REVOKE SELECT ON world.* FROM 'role3';

GRANT ALL ON db1.* TO 'jeffrey'@'localhost';

GRANT 'role1', 'role2' TO 'user1'@'localhost', 'user2'@'localhost';

GRANT SELECT ON world.* TO 'role3';

В PostgreSQL выполнение DCL является транзакционным и его можно откатить.

Grant и Revoke — это команды SQL, используемые для управления привилегиями, предоставляемыми пользователям в базе данных.

В SQLite нет команд DCL, поскольку у него нет имен пользователей или логинов. Вместо этого SQLite зависит от разрешений файловой системы , чтобы определить, кто может открывать базу данных и получать к ней доступ. [ 5 ]

См. также

[ редактировать ]
  1. ^ «Стандарт SQL – ISO/IEC 9075:2016 (ANSI X3.135) – Блог ANSI» . Блог ANSI . 05.10.2018 . Проверено 19 сентября 2020 г.
  2. ^ «ТехНет Вики» . Social.technet.microsoft.com . Проверено 19 сентября 2020 г.
  3. ^ «Справочник по языку баз данных SQL» . docs.oracle.com . Проверено 19 сентября 2020 г.
  4. ^ «MySQL :: Справочное руководство MySQL 8.0 :: 13.7.1 Заявления об управлении учетными записями» . dev.mysql.com . Проверено 19 сентября 2020 г.
  5. ^ Крейбих, Дж. А., 2010. Использование SQLite , О'Рейли.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ba743e51d0dbcb69b20eb5e148cda8b8__1694411100
URL1:https://arc.ask3.ru/arc/aa/ba/b8/ba743e51d0dbcb69b20eb5e148cda8b8.html
Заголовок, (Title) документа по адресу, URL1:
Data control language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)