Проверяемый текст
Пушников А.Ю. Введение в системы управления базами данных. Учебное пособие/Изд-е Башкирского ун-та. - Уфа, 1999.
[стр. 49]

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

Выводы по разделу 1.
1.
Поддержание механизма транзакций является показателем уровня развитости СУБД.
С точки зрения воздействия на СУБД,
транзакция является неделимой последовательностью операций манипулирования данными, результатом работы которой является либо перевод базы данных из одного целостного состояния в другое, либо возврат базы в исходное состояние вследствие нарушения работы системы.
С этой точки зрения транзакции важны как в многопользовательских
системах, так и в однопользовательских системах, после выполнения которых база данных остается в целостном состоянии.
Транзакции также являются единицами восстановления данных после сбоев,
что в свою очередь оказывает влияние на надёжность функционирования программного обеспечения.
2.
В рамках данного раздела указаны четыре важных свойства транзакции, известные как свойства АСИД: Атомарность, Согласованность, Изоляция, Долговечность.
На данных свойствах организованно все понятие транзакционной надежности и отказоустойчивости.
3.
База данных не понимает "смысла" хранимых данных.
"Смыслом" данных для СУБД является весь набор ограничений целостности, т.е.
49
[стр. 129]

В данной главе, являющейся иллюстрацией к методам ER-моделирования, не рассмотрены более сложные аспекты построения диаграмм, такие как подтипы, роли, исключающие связи, непереносимые связи, идентифицирующие связи и т.п.
Глава 9.
Транзакции и целостность баз данных В данной и в последующих главах изучается фундаментальное понятие транзакции.
Это понятие не входит в реляционную модель данных, т.к.
транзакции рассматриваются не только в реляционных СУБД, но и в СУБД других типов, а также и в других типах информационных систем.
Транзакция это неделимая, с точки зрения воздействия на СУБД, последовательность операций манипулирования данными.
Для пользователя транзакция выполняется по принципу "все или ничего", т.е.
либо транзакция выполняется целиком и переводит базу данных из одного целостного состояния в другое целостное состояние, либо, если по каким-либо причинам, одно из действий транзакции невыполнимо, или произошло какое-либо нарушение работы системы, база данных возвращается в исходное состояние, которое было до начала транзакции (происходит откат транзакции).
С этой точки зрения, транзакции важны как в многопользовательских,
так и в однопользовательских системах.
В однопользовательских системах транзакции это логические единицы работы, после выполнения которых база данных остается в целостном состоянии.
Транзакции также являются единицами восстановления данных после сбоев
восстанавливаясь, система ликвидирует следы транзакций, не успевших успешно завершиться в результате программного или аппаратного сбоя.
Эти два свойства транзакций определяют атомарность (неделимость) транзакции.
В многопользовательских системах, кроме того, транзакции служат для обеспечения изолированной работы отдельных пользователей пользователям, одновременно работающим с одной базой данных, кажется, что они работают как бы в однопользовательской системе и не мешают друг другу.
Пример нарушения целостности базы Для иллюстрации возможного нарушения целостности базы данных рассмотрим следующий пример: Пример 1.
Пусть имеется система, в которой хранятся данные о подразделениях и работающих в них сотрудниках.
Список подразделений хранится в таблице DEPART(Dep_Id, Dep_Name, Dept_Kol), где Dept_Id идентификатор подразделения, Dept_Name наименование подразделения, Dept_Kol количество сотрудников в подразделении.
Список сотрудников хранится в таблице PERSON(Pers_Id, Pers_Name, Dept_Id), где Pers_Id идентификатор

[стр.,178]

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

Восстановление данных и стандарт SQL Стандарт языка SQL не содержит требований к восстановимости данных, оставляя эти вопросы на усмотрение разработчиков СУБД.
Выводы Главное требование долговечности данных транзакций состоит в том, что данные зафиксированных транзакций должны сохраняться в системе, даже если в следующий момент произойдет сбой системы.
Избыточность хранения данных, позволяющую восстановить систему после сбоя обычно обеспечивает журнал транзакций.
Восстановление базы данных может производиться в следующих случаях:  Индивидуальный откат транзакции.
 Мягкий сбой системы (аварийный отказ программного обеспечения).
 Жесткий сбой системы (аварийный отказ аппаратуры).
Страницы базы данных и журнала транзакций не записываются сразу на диск, а предварительно буферизируются в оперативной памяти.
Страницы базы данных, содержимое которых в буфере отличается от содержимого на диске, называются "грязными" (dirty) страницами.
Запись "грязных" страниц из буфера на диск называется выталкиванием страниц во внешнюю память.
Основным принципом согласованной политики выталкивания буфера журнала и буферов страниц базы данных является протокол журнализации Write Ahead Log (WAL) "пиши сначала в журнал".
Минимальным требованием, гарантирующим возможность восстановления последнего согласованного состояния базы данных, является выталкивание при фиксации транзакции во внешнюю память журнала всех записей об изменении базы данных этой транзакцией.
Индивидуальный откат транзакции выполняется при помощи журнала транзакций.
Восстановление системы после мягкого сбоя осуществляется как часть процедуры перезагрузки системы.
При перезагрузке системы транзакции проходят процедуру идентификации для выявления завершившихся и прерванных в результате сбоя транзакций.
Транзакции, успешно завершившиеся до наступления сбоя, и данные о которых отсутствуют в базе данных, повторяются заново.
Транзакции, не успевшие завершиться к моменту сбоя, и данные о которых имеются в базе данных, откатываются.
Восстановление системы после жесткого сбоя выполняется при помощи архивной копии базы данных и журнала транзакций.

[Back]