Транзакции

Автор работы: Пользователь скрыл имя, 20 Октября 2013 в 16:27, реферат

Краткое описание

Целью данной работы является рассмотрение транзакций, определение, свойства, а также определение различий транзакций определенных в стандарте 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 могут модифицировать таблицу, остальные - только выбирать данные.
    1. Завершение транзакций

Для завершения транзакций в InterBase кроме операторов COMMIT и ROLLBACK, добавлены операторы CommitRetaining, которая сохраняет все изменения и продолжает работать в том же уровне изолированности и RollbackRetaining, соответственно, отменяет изменения и продолжает транзакцию.

Заключение

В ходе работы было дано определение транзакций и их свойства, рассмотрены уровни изолированности определенные в стандарте ANSI и в  InterBase. Так же в малой степени были освещены различия SQL реализованного в InterBase, и определенного в стандарте ANSI.

Список литературы

  1. Транзакции в InterBase и Firebird

http://www.ibase.ru/devinfo/ibtrans.htm

  1. Язык баз данных SQL/92

http://citforum.ru/database/sqlbook/sqlbook_05.shtml

  1. Критика уровней изолированности в стандарте ANSI SQL

http://citforum.ru/database/classics/SQL_critiques/

  1. Embedded SQL Guide

http://docs.embarcadero.com/products/interbase/IB7.5/IB_EmbedSQL.pdf

  1. Language Reference

http://docs.embarcadero.com/products/interbase/IB7.5/IB_LangRef.pdf

  1. ANSI X3.135-1992, American National Standart for Information Systems - Database Language - SQL, November, 1992

http://www.cs.purdue.edu/homes/ninghui/readings/ANSI+INCITS+135-1992+%28R1998%29.pdf

  1. The ACID Model

http://databases.about.com/od/specificproducts/a/acid.htm


Информация о работе Транзакции