Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по БД.doc
Скачиваний:
27
Добавлен:
24.09.2019
Размер:
291.84 Кб
Скачать

16. Восстановление баз данных в различных ситуациях.

1)Индивидуальный откат транзакции

-Выбирается очередная запись из списка данной транзакции. -Выполняется противоположная по смыслу операция: вместо операции INSERT выполняется соответствующая операция DELETE -Любая из этих обратных операций также журнализуются. -При успешном завершении отката в журнал заносится запись о конце транзакции.

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

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

-Для T1 никаких действий производить не требуется. Она закончилась до момента tlpc, и все ее результаты отражены во внешней памяти базы данных.

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

-Для T3 нужно выполнить в обратном направлении первую часть операций (undo). Отсутвстуеют результаты во внешней памяти после t1pc, и присутствуют которые были перед t1pc. Для того что бы прийти к согласованию БД.(поскольку транзакция T3 не завершилась к моменту мягкого сбоя, при восстановлении необходимо устранить все последствия ее выполнения).

-Для транзакции T4, которая успела начаться после момента tlpc и закончиться до момента мягкого сбоя, нужно выполнить полную повторную прямую интерпретацию операций (redo).

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

3)Восстановление после жесткого сбоя

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

Этапы восстановления:-по журналу в прямом направлении выполняются все операции;

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

17. Язык sql, функции и основные возможности. Стандартизация sql.

SQL – язык управления БД. Язык SQL – первый и пока единственный стандартный язык для работы с базами данных, который получил достаточно широкое распространение.

DDL (Data Definition Language) - язык определения структур и ограничений целостности баз данных. Сюда относятся команды создания и удаления баз данных; создания, изменения и удаления таблиц; управления пользователями и т.д.

DML (Data Manipulation Language) - язык манипулирования данными: добавление, изменение, удаление и извлечение данных, управления транзакциями

Язык для взаимодействия с БД SQL появился в середине 70-х и был разработан в рамках проекта экспериментальной реляционной СУБД System R. Исходное название языка SEQUEL (Structered English Query Language). Язык был ориентирован главным образом на удобную и понятную пользователям формулировку запросов к реляционной БД, но на самом деле уже являлся полным языком БД, содержащим помимо операторов формулирования запросов и манипулирования БД средства определения и манипулирования схемой БД; определения ограничений целостности и триггеров; представлений БД; возможности определения структур физического уровня, поддерживающих эффективное выполнение запросов; авторизации доступа к отношениям и их полям; точек сохранения транзакции и откатов.

Цель стандартизации: сделать едиными требования для участников процесса создания языка SQL. Пытались стандартизировать SQL System R, но не удалось т.к. этот вариант языка не был технически проработаны, операторы сложны в реализации.

Стандарты

-SQL1(стандарт утвержденный в 1989 SQL89) (В этом стандарте полностью отсутствуют такие важные разделы, как манипулирование схемой БД и динамический SQL. Многие важные аспекты языка в соответствии со стандартом определяются в реализации.)

-SQL2-1992 SQL92 (манипулирование схемой БД, управление транзакциями и сессиями, подключение к БД, динамический SQL)

-SQL3- 1999 SQL99 (механизм триггеров и возможность использования абстрактных типов данных.)