Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по БД.doc
Скачиваний:
13
Добавлен:
26.09.2019
Размер:
2.17 Mб
Скачать

1.4. Ликвидация прав

Команда REVOKE ликвидирует права доступа к объектам БД. Права – это действия с объектом, которые разрешены пользователю.

SQL-права описаны в табл. 13.3.

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

- ликвидировать права может только тот пользователь, который их выдал;

- одному пользователю могут быть переданы одни и те же права на объект БД от любого числа разных пользователей. Команда REVOKE влечет за собой лишение выданных ранее именно этим пользователем прав;

- права, выданные всем пользователям опцией PUBLIC, могут быть ликвидированы командой REVOKE только с опцией PUBLIC.

Т а б л и ц а 13.3

SQL-права

Право

Описание

ALL

Ликвидируются все права

SELECT

Дает право выбирать строки из таблицы (представления)

DELETE

Дает право удалять строки из таблицы (представления)

INSERT

Дает право добавлять строки в таблицу (представление)

UPDATE

Дает право изменять строки в таблице (представлении). Может быть ограничено определенным набором столбцов

EXECUTE

Дает право выполнять хранимую процедуру

GRANT

OPTION FOR

Делегирование прав другим пользователям

Синтаксис команды REVOKE следующий:

REVOKE {ALL [PRIVILEGES] | SELECT | DELETE | INSERT | UPDATE (<список столбцов>) | REFERENCES (<список столбцов>)}

ON [TABLE] {<имя таблицы> | <имя обзора>}

FROM {<объект> | <список пользователей>}

/ EXECUTE ON PROCEDURE <имя процедуры>

FROM {<объект> | <список пользователей>};

Возможные значения <объект> перечислены в табл. 13.2.

Например, у пользователя Nik команда ликвидирует право на удаление из таблицы student.

REVOKE DELETE ON STUDENT FROM NIK;

2. Практическая часть

Порядок выполнения работы

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

2. Использовать команду изменения триггеров, применив ее на нескольких триггерах.

3. Научиться использовать команду удаления триггеров.

4. Создать несколько пользователей. Делегировать пользователям следующие права:

- права системного администратора с возможностью передавать эти права другим пользователям;

- права системного администратора без права передавать эти права другим пользователям;

- права на добавление и выборку записей из всех таблиц;

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

5. Научиться пользоваться командой, которая ликвидирует права.

6. Сохранить резервную копию БД на съемном носителе для дальнейшего использования.

Контрольные вопросы

1. Каким образом можно ограничить доступ пользователям к БД?

2. Какие виды ограничений бывают?

3. Каким образом можно ликвидировать права пользователей?

Лабораторная работа 14

Создание и модификация обзоров. Группы

управления правами

Цель работы: формирование умений и навыков создания и модификации обзоров, создания ролей и назначения им прав пользователей.