Транзакция, ее свойства. Модель транзакции в стандарте sql. Журнализация транзакций.
Транзакция – это неделимая с точки зрения воздействия на БД последовательность операторов манипулирования данными (чтения, удаления, вставки, модификации).
Например, если вы продаете товар клиенту, то ваша транзакция будет состоять, по крайней мере, из двух частей (операторов): вам необходимо обновить склад, уменьшив количество проданных единиц товара в некоторой таблице, а также обновить таблицу счетов для того, чтобы затем выставить счет клиенту.
Если эта последовательность работ будет прервана, то БД не будет соответствовать реальному объекту.
Результаты действия всех операторов, входящих в транзакцию, либо полностью принимаются, либо полностью отвергаются.
Транзакция переводит БД из одного устойчивого состояния в другое.
Транзакция может быть представлена отдельной программой некоторого приложения или ее частью.
Для транзакции возможны два варианта завершения:
-
если все операторы выполнены успешно, транзакция фиксируется; до фиксации транзакции допустимо аннулирование произведенных ее изменений, после фиксации результатов транзакции ее изменения становятся видимыми пользователю;
-
если нормальное завершение транзакции невозможно, осуществляется откат транзакции – ее результаты аннулируются.
Свойства транзакции:
-
атомарность – требует, чтобы транзакция (все операции (части) транзакции) выполнялась полностью либо не выполнялась совсем.
-
сериализуемость – представляет собой возможность одновременного выполнения нескольких транзакций. Т.е результат параллельного выполнения транзакций точно такой же, как если бы они выполнялись последовательно;
-
изолированность – обеспечивает такую изолированность одной транзакции от другой, что промежуточные результаты незавершенной транзакции не доступны другой транзакции; т.е. данные, использующиеся в одной транзакции, не могут использоваться другой транзакцией до тех пор, пока первая не будет завершена;
-
долговечность – гарантирует, что результаты зафиксированной транзакции не могут быть потеряны ни при каких обстоятельствах. Т.е. после завершения транзакции БД должна переходить в устойчивое состояние и это состояние не должно нарушаться даже при сбоях системы.
В стандарте ANSI/ISO SQL определена модель транзакции.
Стандарт SQL определяет, что:
-
транзакция начинается с первого SQL-оператора;
-
последующие SQL-операторы составляют тело транзакции;
-
транзакция может завершаться одним из четырех возможных путей:
-
оператор COMMIT выполняется в случае успешного завершения обработки информации, объединенной в транзакцию; его выполнение фиксирует изменения, внесенные в базу данных текущей транзакцией;
-
оператор ROLLBACK (откат) прерывает выполнение транзакции и осуществляет отмену всех изменений, проведенных в ходе выполнения транзакции. БД возвращается в предыдущее устойчивое состояние;
-
успешное завершение программы, в которой была инициирована текущая транзакция, означает успешное завершение транзакции (как будто был использован оператор COMMIT);
-
ошибочное завершение программы прерывает транзакцию (как будто был использован оператор ROLLBACK).
Таким образом, SQL обеспечивает поддержку транзакций с помощью двух операторов:
-
COMMIT – сохраняет данные на физическом носителе.
-
ROLLBACK – восстанавливает предыдущее состояние базы данных.
Возможность реализации транзакций предполагает способность системы сохранять промежуточные состояния базы данных, необходимые для отката транзакций.
Сохранение требуемых состояний осуществляется посредством специального механизма, который называется журналом транзакций. Журнал транзакций – это ведение изменений БД.
Целью журнализации изменений БД является обеспечение возможности восстановления согласованного состояния БД после любого сбоя.
Общими принципами восстановления являются:
-
результаты зафиксированных транзакций должны быть сохранены в восстановленном состоянии БД;
-
результаты незафиксированных транзакций должны отсутствовать в восстановленном состоянии БД.
С помощью журнала транзакций отслеживаются все транзакции, вносящие изменения в базу данных. Информация, хранящаяся в журнале транзакций, используется для восстановления базы данных в операциях ROLLBACK.
- Понятие распределенной информационной системы. Распределенные базы данных. Принципы создания и функционирования распределенных баз данных.
- Прозрачные свойства распределенных баз данных. Прозрачность фрагментации, местоположения, локального отображения.
- Системы управления распределенными базами данных: понятие, функциональные возможности, типы. Преимущества и недостатки систем управления распределенными базами данных.
- Архитектура клиент-сервер. Основные правила архитектуры клиент-сервер. Модели распределений.
- Модели архитектуры клиент-сервер: rda-модель, dbs-модель, as-модель. Преимущества и недостатки.
- Фрагментация. Основные концепции фрагментации данных. Виды фрагментации.
- Репликация. Понятие согласованного распределенного набора данных. Варианты репликации. Протокол репликации rowa.
- Технологии доступа к данным: odbc, jdbc, ole db, ado, dao, bde.
- Транзакция, ее свойства. Модель транзакции в стандарте sql. Журнализация транзакций.
- Понятие распределенной транзакции. Мониторы обработки транзакций.
- Параллельное выполнение транзакций. Управление параллельным выполнением транзакций. Проблемы и решения по организации управления параллельным выполнением в распределенной среде.
- Механизм блокировок. Виды блокировок. Централизованное блокирование, блокирование первичных копий и распределенное блокирование. Блокировка
- Метки времени
- Оптимистические методы
- Понятие проекта информационной системы, его структура. Экономико-организационные и информационно-технологические принципы проектирования информационных систем.
- 1. Экономико-организационные
- 2. Информационно-технологические
- Жизненный цикл разработки систем. Основные стадии жизненного цикла. Модели жизненного цикла.
- Каноническое проектирование информационных систем. Стадии процесса проектирования информационных систем.
- Состав работ на предпроектных стадиях проектирования системы. Обследование информационной системы. Описание постановки задачи. Техническое задание.
- Состав работ на стадиях технического и рабочего проектирования информационной системы.
- Состав работ на стадиях ввода в действие и сопровождения информационной системы.
- Case-технологии, основные принципы. Этапы создания информационной системы на основе case-технологии. Факторы эффективности case-технологии.
- Case-средства, их классификация. Примеры case-средств и их характеристика.
- Типовое проектирование информационных систем. Классификация, примеры типовых информационных систем и их характеристика.
- Проектирование системы управления в Business Studio.
- 29. Возможности и реализуемые стандарты современного пакета бизнес- моделирования Business Studio.
- 28. Основные задачи администратора базы данных: