Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Транзакции

Лекция 6

х единиц товара
Транзакция – это логическая единица работы с базой данных, которая должна быть или полностью выполнена или отменена.

Начальное состояние (устойчивое состояние)

 

 


х=х-10 Транзакция А (Модернизация БД)

 

Х-10


Конечное состояние (устойчивое состояние)

Транзакция А, которая изменяет содержимое базы данных переводит БД из одного устойчивого состояния в другое устойчивое состояние.

Устойчивым состоянием БД считается состояние, при котором выполняются все условия ограничения целостности.

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

Свойства транзакции:

A. Атомарность. Требует, чтобы все части транзакции были завершены, в противном случае транзакция отменяется. Другими словами, транзакция представляет собой отдельную, неделимую единицу работы.

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

C. Серилизуемость. Представляет собой возможность одновременного выполнения нескольких транзакций. Точнее под одновременным выполнением понимается их серилизованное, т.е. последовательное выполнение одна за другой.

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

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

Поддержка транзакции обеспечивается двумя SQL операторами:

1. COMMIT

2. ROLLBACK

Стандарты ANSI требуют, чтобы после инициализации транзакции пользователем или прикладной программой, она выполнялась последовательностью SQL операторов, пока не произойдет одно из следующих четырех событий:

1. Достигнут оператор COMMIT. В этом случае все изменения записываются в БД. Этот оператор автоматически завершает транзакцию.

2. Достигнут оператор ROLLBACK, в этом случае все изменения отменяются и БД возвращается в предыдущее устойчивое состояние.

3. Достигнут конец программы, это событие эквивалентно выполнению оператора COMMIT.

4. Выполнение программы неожиданно прервано. Эквивалентно выполнению оператора ROLLBACK.

Транзакция начинает выполняться явно, как только встретится первый SQL оператор. В некоторых версиях SQL для начала выполнения транзакции используется специальный оператор, например: BEGIN TRANSACTION.

<== предыдущая лекция | следующая лекция ==>
Влияние индексов на производительность | Управление параллельным выполнением транзакций
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 356; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.