пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

I семестр:
» Мсис
» Бд

Сформулируйте понятие расписания. Приведите примеры рассогласования.

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

Транзакция - это разовый прогон программы, реализующей запрос (другими словами, такая единица работы), при котором БД остается в состоянии целостности до и после выполнения транзакции.

Замечание. В процессе выполнения транзакции целостность БД может нарушаться.

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

Очевидно, что расписание при одновременной работе представляет порядок выполнения транзакций во времени.

Примеры расписаний. Введем следующие обозначения:

Т - транзакция,

R-A - элементарный шаг транзакции, представляющий чтение значения поля А,

W-A - элементарный шаг транзакции, представляющий запись значения в поле А.

Расписание 1.

Т1 : R-A

T1 : W-A

T2 : R-A

T2 : W-A

Нарушения целостности (рассогласования) БД возникнуть не может, так как транзакции Т1 и Т2 выполняются последовательно.

Расписание 2.

Т1 : R-A

T2 : R-A

      T1 : W-A

      T2 : W-A

Модификация транзакции Т1 затирается транзакцией Т2, следовательно, она теряется.

Расписание 3.

Т1 : W-A

T2 : W-A

T1 : отменить

Потеря модификации транзакции Т2, поскольку после ее окончания следует сигнал отмены модификации.

Расписание 4.

Т1 : W-A

T2 : R-A

T1 : прервать

Ситуация известна под названием «неправильное считывание», поскольку выбранное транзакцией Т2 значение впоследствии из БД удаляется.

Расписание 5

Т2: R-A

T1: W-A

T2 : R-A

Две выборки дадут различные значения.

Согласованные состояния БД обеспечивают последовательные или приводимые к последовательным расписания.

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

Расписание называется приводимым к последовательному, если результат применения этого расписания к БД эквивалентен результату последовательного расписания.

Для выявления расписаний, приводимых к последовательным  и благодаря этому сохраняющих согласованное состояние БД, можно использовать метод, основанный на построении графа зависимостей.

В графе зависимостей транзакциям соответствуют узлы, а направленная дуга графа, связывающая узлы Ti и Tj , обозначает, что вход транзакции Tj зависит от выхода транзакции Ti , то есть Tj использует значение поля, определенное Ti. Если граф зависимостей содержит циклы, то это означает, что соответствующее расписание не приводится к последовательному.


хиты: 217
рейтинг:0
Точные науки
информатика
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь