русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Право изменять данные


Дата добавления: 2013-12-23; просмотров: 784; Нарушение авторских прав


Право просмотра данных

Роли и группы

Если пользователей БД немного, то при предоставлении им прав можно использовать простые списки их имен. В противном случае назначение и контроль за правами становятся довольно трудоемкими. Удобным выходом из положения является использование ролей или групп пользователей. В SQL:2003 используется понятие роли (role), однако его нет в основном стандарте, а потому может не быть в некоторых реализациях. Перед использованием ролей необходимо убедиться, что их поддерживает ваша СУБД. Многие СУБД применяют понятие группы пользователей, которое аналогично понятию роли.

При использовании роли (группы) права назначаются для роли (группы), а затем для каждого пользователя указывается, какую роль он играет или в какую группу входит. Как роль, так и группа характеризуются именем.

Для создания роли используется такой синтаксис:

 

CREATE ROLE имяРоли;

 

После создания роли она назначается пользователям:

 

GRANT имя Роли ТО списокПользователей;

Назначение прав для роли производится с помощью следующего выражения:

 

GRANT списокПрав

ON объект

ТО имяРоли

[WITH GRANT OPTION];

 

Если реализация SQL поддерживает понятие не роли, а группы, то синтаксис оператора для создания группы может быть следующим:

 

CREATE GROUP имяГруппы WITH списокПользователей;

 

Для предоставления права просмотра таблицы или представления, например, Продажи всем пользователям БД можно воспользоваться следующим оператором:

 

GRANT SELECT

ON Продажи

TO PUBLIC;

 

Таблица Продажи может иметь столбец, например, Цена, который нежелательно предоставлять всем пользователям. В этом случае рекомендуется на основе таблицы Продажи создать представление, в котором нет столбцов, просмотр которых вы хотели бы запретить:



 

CREATE VIEW Продажи_вид1 AS

SELECT Товар, Количество, Описание

FROM Продажи;

GRANT SELECT

ON Продажи_вид1

TO PUBLIC;

 

Предположим, менеджеру по продажам (регистрационное имя SalesManager) разрешено изменять значения столбца Цена в таблицах Товары и Продажи. Чтобы предоставить ему такое право, достаточно выполнить следующий оператор:

 

GRANT UPDATE (Цена)

ON Товары, Продажи

TO SalesManager;

 

Если менеджеру нужно разрешить изменять значения нескольких столбцов, то в операторе grant следует перечислить их имена через запятую, а если нужно разрешить изменять все столбцы, то стоит использовать такой оператор:

 

GRANT update

ON Товары, Продажи

ТО SalesManager;

 

Для предоставления права добавлять записи вместо ключевого слова update нужно использовать ключевое слово insert. В следующем примере предоставляются права на изменение и добавление записей во все столбцы:

 

GRANT UPDATE, INSERT

ON Товары, Продажи

ТО SalesManager;



<== предыдущая лекция | следующая лекция ==>
Предоставление привилегий | Право на домены


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.