ACID – свойства транзакций 1.Атомарность 2.Согласованность 3.Изолированность 4.Долговечность create table AccountInfo(Name varchar2(100), Account number(10));

Презентация:



Advertisements
Похожие презентации
Транзакции Транзакция - это последовательность операций, производимых над базой данных и переводящих базу данных из одного непротиворечивого (согласованного)
Advertisements

Транзакции Транзакция (transaction) – набор логически связанных действий, выполняемых как единая операция Транзакция – это логическая единица работы.
Учебная дисциплина «Базы данных и управление ими» для студентов специальности «Профессиональное обучение» Лекция 10 ОРГАНИЗАЦИЯ ПАРАЛЛЕЛЬНОГО.
Введение в SQL (НЕ select) Затрагиваемые темы Роль языка SQL. Части SQL Роль языка SQL. Части SQL Администрирование БД: привилегии (DCL) Администрирование.
Организация многопользовательского доступа к данным "Кто хочет работать – ищет средства, кто не хочет – причины". С.П. Королёв, советский ученый и конструктор.
Определение 2www.timurshamiladze.ru Уровень изоляции транзакции - набор правил, которые определяют насколько сильно необходимо.
Модели транзакций Уровни изолированности пользователей.
МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ. Программная единица PL/SQL Именованные блоки Три основных категории Процедура Функция Пакет Хранятся в базе данных или обрабатываются.
Лекция 25 Лекция 25 Понятие целостности базы данных. Условия целостности. Транзакции. Обработка транзакций. Свойства транзакций. Модель ANSI/ISO. Назначение.
PL/SQL Триггер блок PL/SQL, выполняемый неявно каждый раз, когда происходит конкретное событие.
УПРАВЛЕНИЕ ТРАНЗАКЦИЯМИ Транзакция - это последовательность операций над БД, рассматриваемых СУБД как единое целое. Либо транзакция успешно выполняется,
Дискретные и автономные транзакции (начиная с версии Oracle8i)
АЛГОРИТМ ВЕТВЛЕНИЯ ОПЕРАТОР ВЕТВЛЕНИЯ. Какая задача решается по этой программе? Program Z1: Var a,b,c: integer; Begin Write ( vv a,b:); Read (a,b); C:=(a+b)*(b-a);
Модели транзакций Свойства транзакций. Способы завершения транзакций.
Алгоритмические структуры 1.Линейный 2.Ветвление 3.Цикл.
3 Обработка транзакций в реальном масштабе времени (OLTP - технология)
База данных База данных – это конкретная предметная область, описанная с помощью таблиц.
Обработка ошибок. Общие сведения Что такое исключение? –Переменная в PL/SQL, возбуждаемая во время выполнения Как возникает исключение? –Возбуждается.
История развития языка SQL Structured Query Language ɛ skju ɛ l ɛ skju ɛ l или si:kwəlsi:kwəl DML (Data Manipulation Language) DDL (Data Definition Language)
Лекция 26 Лекция 26 Параллельное выполнение транзакций. Типы конфликтов. Захваты и блокировки.
Транксрипт:

ACID – свойства транзакций 1.Атомарность 2.Согласованность 3.Изолированность 4.Долговечность create table AccountInfo(Name varchar2(100), Account number(10)); update AccountInfo set Accout = Account-sum where Name = NameFrom; update AccountInfo set Accout = Account+sum where Name = NameTo;

begin transaction; ……………. savepoint p; update AccountInfo set Accout = Account-sum where Name = NameFrom; if error then begin rollback to savepoint p; выполнение операции снятия со счета ……………. end update AccountInfo set Accout = Account+sum where Name = NameTo; if error then rollback; else commit; ………………………

1. Потеря результатов обновления 2. Зависимость от незафиксированных результатов 3. Несогласованная обработка данных select s from t where i = 2 s = old value select * from t where i = 2 s = old value update t set s = new value 1 where i = 2 s = new value 1 update t set s = new value 2 where i = 2 s = new value 2 select s from t where i = 2 s = old value update t set s = new value where i = 2 s = new value select s from t where i = 2 s = new value update t set s = other value where i = 2 s = other value rollback select s from t where i = 2 s = old value select sum(n) from t sum = 3 sum = 0 sum += (select n from t where i = 1) sum = 1 update n = n+1 where i in (2, 3) n = 3, 4 sum += (select n from t where i = 2) sum = 4 sum += (select n from t where i = 4) sum = 8

1.Чтение данных незавершенной транзакции – некорректное чтение 2.Чтение данных завершенной транзакции a.Чтение измененных данных- неповторяемое чтение b.Чтение новых (удаленных данных)- чтение фантомов Некорректное чтение Неповторяемое чтение Чтение фантомов READ UNCOMMITED ДА READ COMMITED НЕТДА REPEATABLE READ НЕТ ДА SERIALIZABLEНЕТ

Команды Oracle по управлению транзакциями 1.set transaction [read only | read write] 2.set transaction isolation level [serializable | read commited] 3.commit work 4.rollback 5.savepoint 6.rollback to savepoint Просмотр блокировок dba_locks dba_ddl_locks dba_dml_locks dba_lock_internal Отличия в управлении транзакциями в различных СУБД 1.Явные и неявные транзакции 2.Механизм многоверсионности