Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Labwork Formulation.doc
Скачиваний:
0
Добавлен:
20.07.2019
Размер:
82.94 Кб
Скачать

5. Изолированность транзакций

Шаг 1. Предоставление необходимых привилегий

Владелец схемы должен предоставить первому и второму пользователям привилегии SELECT и UPDATE на принадлежащую ему таблицу PRODUCTS.

Шаг 2. Независимое изменение объекта в параллельных транзакциях

Первый пользователь должен выполнить оператор UPDATE по отношению к таблице PRODUCTS, принадлежащей владельцу схемы.

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

Второй пользователь также должен выполнить оператор UPDATE по отношению к таблице PRODUCTS, принадлежащей владельцу схемы.

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

После этого все три пользователя должны выполнить оператор SELECT для просмотра таблицы PRODUCTS, принадлежащей владельцу схемы.

Первый пользователь должен зафиксировать свою транзакцию.

После этого все три пользователя должны выполнить оператор SELECT для просмотра таблицы PRODUCTS, принадлежащей владельцу схемы.

Второй пользователь должен зафиксировать свою транзакцию.

После этого все три пользователя должны выполнить оператор SELECT для просмотра таблицы PRODUCTS, принадлежащей владельцу схемы.

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

Шаг 3. Зависимое изменение объекта в параллельных транзакциях

Первый пользователь должен выполнить оператор UPDATE по отношению к таблице PRODUCTS, принадлежащей владельцу схемы.

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

Второй пользователь также должен выполнить оператор UPDATE по отношению к таблице PRODUCTS, принадлежащей владельцу схемы.

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

Владелец схемы также должен выполнить оператор UPDATE по отношению к принадлежащей ему таблице PRODUCTS.

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

После выполнения оператора UPDATE всеми тремя пользователями результат выполнения оператора увидит только первый пользователь. Второй пользователь и владелец схемы увидят, что их сессии «зависли».

Первый пользователь должен зафиксировать свою транзакцию. В результате этого сессия второго пользователя «отвиснет» и он увидит результат выполнения своей команды UPDATE.

Второй пользователь должен отменить свою транзакцию. В результате этого сессия владельца схемы «отвиснет» и он увидит результат выполнения своей команды UPDATE.

Владелец схемы должен зафиксировать свою транзакцию.

В результат лабораторной работы необходимо включить объяснение причин «зависаний» и «отвисаний» в ходе последовательного выполнения операторов UPDATE разными пользователями.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]