Материал: Методические указания к лабораторным работам № 6–9 по дисциплинам «Основы построения защищенных СУБД», «Безопасность систем баз данных». Плотников Д.Г

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Установка уровня изоляции в Microsoft Query Analyzer выполняется командой:

SET TRANSACTION ISOLATION LEVEL уровень_изоляции уровень_изоляции может принимать значения: READ UNCOMMITTED / READ COMMITTED / REPEATABLE READ / SERIALIZABLE

Команду, выполняющую изменение уровня изоляции, следует разместить первой в скрипте.

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

(COMMIT/ROLLBACK).

Инструментальные средства DB2

Для выполнения сценариев проверки изолированности следует запустить два сеанса интерактивного SQL. Можно запустить в два сеанса DB2 Command Center, однако, Command Center - приложение довольно ресурсоемкое, и его выполнение в двух экземплярах на компьютере недостаточной мощности может оказаться затруднительным, поэтому мы предлагаем во втором сеансе запустить DB2 Command Line Processor.

Command Line Processor - приложение для интерактивного выполнения операторов SQL из командной строки.

По умолчанию в средах интерактивного SQL DB2 режим AUTOCOMMIT включен. Чтобы его отключить следует ввести команду:

UPDATE COMMAND OPTIONS USING c OFF

9

Установка уровня изоляции в DB2 выполняется командой:

CHANGE ISOLATION TO уровень_изоляции

уровень_изоляции может принимать значения: UR / CS / RS / RR

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

CONNECT TO имя базы разрыв соединения - оператором

CONNECT RESET

Инструментальные средства Oracle

По умолчанию в среде SQL*Plus режим AUTOCOMMIT выключен.

Установка уровня изоляции в Oracle выполняется командой:

ALTER SESSION SET ISOLATION_LEVEL =

уровень_изоляции

уровень_изоляции может принимать значения READ COMMITTED / SERIALIZABLE

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

1.В чем различия имени входа (логина) и пользователя?

2.Рассказать о ролях уровня сервера.

3.Рассказать о ролях уровня базы данных.

4.Можно ли создать свою роль уровня сервера?

5.Для чего нужны роли?

6.Что такое схема?

10

7.Рассказать о роли уровня базы данных public.

8.Рассказать про директивы GRANT, DENY и

REVOKE.

9.Как разрешить пользователю предоставлять разрешение другим пользователям?

10.Как добавить нового пользователя в текущую

базу данных?

11.Как создать новый логин?

Дополнительные вопросы

1.Исправить ошибки в обязательной части.

2.Сменить владельца базы данных.

3.Сменить пароль для имени входа.

4.Сменить базу данных по умолчанию для имени

входа.

5.Определить роль с заданными правами.

11

Лабораторная работа № 7 Создание и использование триггеров

Цель работы

Освоение способов создания триггеров в среде Microsoft

SQL Server.

Темы для предварительной проработки

•Функции триггеров.

•Синтаксис создания триггеров

•Использование триггеров в целях аудита

Подготовка к работе

•Подготовить план создания триггера для контроля ограничений целостности, заданных в Вашем варианте индивидуального задания. Использовать диалекты как Oracle, так и DB2.

•Сформулировать 2-4 запроса на добавление / изменение / удаление данных в таблицу, для которой будет назначен триггер. Составить SQL-скрипты для выполнения этих запросов.

Выполнение работы

•Запустить Microsoft Enterprise Manager и

Microsoft Query Analyzer, соединиться с локальной базой данных.

•В среде Microsoft Enterprise Manager создать триггер контроля ограничений целостности. В среде Microsoft Query Analyzer выполнить скрипты, подготовленные для проверки триггера и сохранить протокол их выполнения.

•Вывести содержимое таблиц, показывающее действие триггеров.

•Закончить работу с Microsoft SQL Server.

12

Содержание отчета

•Протокол работы в среде Microsoft Query

Analyzer.

•Краткие выводы о навыках, приобретенных в ходе выполнения работы.

Теор етические сведения

Триггеры - средство, обеспечивающее автоматическое выполнение некоторых действий при каждой модификации таблицы.

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

условие активизации - действие над таблицей, которое вызывает запуск триггера - такими действиями являются операции INSERT, DELETE, UPDATE;

время активизации - выполнение триггера до или после выполнения операции над таблицей; область действия - выполнение триггера либо один раз

для каждого оператора модификации таблицы, либо для каждой строки, изменяемой / удаляемой / вставляемой в таблицу.

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

При обеспечении в общем-то одинаковой функциональности, синтаксис и некоторые детали применения триггеров различаются в DB2, Oracle и MSSQL, поэтому мы рассматриваем их раздельно.

Триггеры: DB2

Триггер создается оператором языка SQL CREATE TRIGGER:

13

Источник: https://studfile.net/preview/16563472/