Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SUBD.docx
Скачиваний:
15
Добавлен:
01.03.2025
Размер:
91.04 Кб
Скачать

Управление транзакциями

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

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

При завершении транзакции оператором COMMIT результаты гарантированно фиксируются во внешней памяти.

При завершении транзакции оператором ROLLBACKрезультаты гарантированно отсутствуют во внешней памяти.

Транзакции и целостность бд

Понятие транзакции имеет непосредственную связь с понятием целостности БД. Часто БД может обладать такими ограничениями целостности, которые невозможно не нарушить выполняя только один оператор изменения БД.

Например. В БД «Сотрудник отдела » естественным ограничением целостности является совпадение значения атрибута размер отдела в кортеже отношения «отделы» описывающим данный отдел с числом кортежей отношения «сотрудник» таких, что значения атрибута «сотрудник отдела №320» в этом случае принять на работу в отдел 320 нового сотрудника необходимо выполнить операцию вставки нового кортежа в отношение сотрудники или операцию модификации существующего кортежа в отношении отдела после выполнения 1 или 2 операции БД окажется в нецелостном состоянии. Поэтому, для поддержания подобных ограничений целостности допускается их разрушение внутри транзакции с тем условием, чтобы к моменту завершения транзакции условия целостности были соблюдены. В системах с развитыми средствами ограничения и контроля целостности каждая транзакция начинается при целостном состоянии БД и должна оставить это состояние после своего завершения, несоблюдение этого условия приводит к тому, что вместо фиксации результатов транзакции происходит её откат и БД остается в таком состоянии, в котором она находилась к моменту начала транзакции.

Различают 2 вида ограничения целостности:

  • Немедленно поверяемые ограничения целостности. К ним относятся такие ограничения проверку которых бессмысленно или невозможно откладывать. Немедленно проверяемые ограничения целостности соответствуют уровню отдельных операторов языкового уровня СУБД. При их нарушениях не производиться откат транзакции, а лишь отвергается соответствующий оператор.

  • Откладываемы ограничения целостности – это ограничения на базу данных, а не на какие-либо отдельные операции. Такие ограничения по умолчанию проверяются в конце транзакции и их нарушение вызывает автоматическую замену оператора commit на rollback. В некоторых системах поддерживается специальный оператор насильственной проверки ограничений целостности внутри транзакций

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