Транзакции
Реферат, 20 Октября 2013, автор: пользователь скрыл имя
Краткое описание
Целью данной работы является рассмотрение транзакций, определение, свойства, а также определение различий транзакций определенных в стандарте ANSI и конкретной реализации в сервере INterBase. Работа састоит из введения, двух глав, заключения и списка лиературы.
Первая глава посвещена общим сведениям о транзакциях описанным в стандарте ANSI SQL-92.
Вторая глава посвящена реализации SQL в InterBase.
Вложенные файлы: 1 файл
Транзакции.doc
— 145.50 Кб (Скачать файл)
Уровень изоляции |
Потерянная Модификация |
Размытое Чтение |
Фантом |
Побочные эффекты обновления |
READ COMMITTED |
Невозможно |
Возможно |
Возможно |
Возможно |
SNAPSHOT |
Невозможно |
Невозможно |
Невозможно |
Невозможно |
SNAPSHOT TABLE STABILITY |
Невозможно |
Невозможно |
Невозможно |
Невозможно |
Так же в InterBase можно настроить дополнительные параметры транзакций, такие как:
“Режим доступа” Access Mode определяет тип доступа к данным. Может принимать два значения:
- READ ONLY (константа read) - указывает, что транзакция может только читать данные и не может модифицировать их.
- READ WRITE (константа write) - указывает, что транзакция может читать и модифицировать данные. Это значение принимается по умолчанию.
“Разрешение блокировок” Lock Resolution - определяет ход событий при обнаружении конфликта блокировки. Может принимать два значения:
- WAIT (константа wait) - значение по умолчанию. Ожидает разблокировки требуемой записи. После этого пытается продолжить работу.
- NO WAIT (константа nowait) - немедленно возвращает ошибку блокировки записи.
“Резервирование таблиц” Table Reservation - позволяет транзакции получить гарантированный доступ необходимого уровня к указанным таблицам. Существует четыре уровня доступа:
- PROTECTED READ (константа protected_read) - запрещает обновление таблицы другими транзакциями, но позволяет им выбирать данные из таблицы.
- PROTECTED WRITE (константа protected_write) - запрещает обновление таблицы другими транзакциями, читать данные из таблицы могут только транзакции типа SNAPSHOT или READ COMMITTED.
- SHARED READ (константа shared_read) - самый либеральный уровень. Читать могут все, модифицировать - транзакции READ WRITE.
- SHARED WRITE (константа shared_write) - транзакции SNAPSHOT или READ COMMITTED READ WRITE могут модифицировать таблицу, остальные - только выбирать данные.
Завершение транзакций
Для завершения транзакций в InterBase кроме операторов COMMIT и ROLLBACK, добавлены операторы CommitRetaining, которая сохраняет все изменения и продолжает работать в том же уровне изолированности и RollbackRetaining, соответственно, отменяет изменения и продолжает транзакцию.
Заключение
В ходе работы было дано определение транзакций и их свойства, рассмотрены уровни изолированности определенные в стандарте ANSI и в InterBase. Так же в малой степени были освещены различия SQL реализованного в InterBase, и определенного в стандарте ANSI.
Список литературы
Транзакции в InterBase и Firebird
http://www.ibase.ru/devinfo/
Язык баз данных SQL/92
http://citforum.ru/database/
Критика уровней изолированности в стан
дарте ANSI SQL
http://citforum.ru/database/
- Embedded SQL Guide
http://docs.embarcadero.com/
- Language Reference
http://docs.embarcadero.com/
- ANSI X3.135-1992, American National Standart for Information Systems - Database Language - SQL, November, 1992
http://www.cs.purdue.edu/
- The ACID Model
http://databases.about.com/od/