Лекция 25 Лекция 25 Понятие целостности базы данных. Условия целостности. Транзакции. Обработка транзакций. Свойства транзакций. Модель ANSI/ISO. Назначение.

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



Advertisements
Похожие презентации
Модели транзакций Свойства транзакций. Способы завершения транзакций.
Advertisements

Транзакции Транзакция - это последовательность операций, производимых над базой данных и переводящих базу данных из одного непротиворечивого (согласованного)
Модели транзакций Журнализация и буферизация. Зачем нужна буферизация Если бы запись об изменении базы данных, которая должна поступить в журнал при выполнении.
Введение. Цели и задачи. Основные понятия и определения. Требования к базам данных.
Лекция 26 Лекция 26 Параллельное выполнение транзакций. Типы конфликтов. Захваты и блокировки.
Выполнила студентка группы ТУ-501 Полозова Ю.О. База данных (БД) представляет собой совокупность структурированных данных, хранимых в памяти вычислительной.
Лекция 27 Лекция 27 Идентификация пользователей. Проверка и назначение полномочий и представлений данных пользователей. Защита базы данных. Контроль параллельной.
Учебная дисциплина «Базы данных и управление ими» для студентов специальности «Профессиональное обучение» Лекция 10 ОРГАНИЗАЦИЯ ПАРАЛЛЕЛЬНОГО.
Обобщенная архитектура СУБД. Область SQL содержит данные связывания, временные буферы, дерево разбора и план выполнения для каждого оператора SQL, Область.
Классификация ИС В современном мире существует достаточно большое количество разновидностей информационных систем. Классификация информационных систем.
Лекция 15 Лекция 15 Управление реляционными базами данных. Языки определения данных и языки манипулирования данными. Способы выражения запросов: процедурный.
Урок 6. Восстановление баз данных. Обзор Процесс регенерации на сервере SQL Server Подготовка к восстановлению базы данных Восстановление резервных копий.
Классификация БД. СУБД и ее компоненты. Логическое и физическое описание данных.
Модели транзакций Параллельное выполнение транзакций.
Модуль 4 Рассматриваемые темы: Понятие транзакции Конкурентный доступ к данным Использование транзакций в JDBC API Транзакции в JDBC API слайд 4-1.
Введение в SQL (НЕ select) Затрагиваемые темы Роль языка SQL. Части SQL Роль языка SQL. Части SQL Администрирование БД: привилегии (DCL) Администрирование.
ACID – свойства транзакций 1.Атомарность 2.Согласованность 3.Изолированность 4.Долговечность create table AccountInfo(Name varchar2(100), Account number(10));
Лекция 1 Лекция 1 Введение в Автоматизированные информационные системы (АИС) и Базы данных (БД). Определение БД и банков данных (БнД). Компоненты банка.
Модели транзакций Уровни изолированности пользователей.
Транзакции Транзакция (transaction) – набор логически связанных действий, выполняемых как единая операция Транзакция – это логическая единица работы.
Транксрипт:

Лекция 25 Лекция 25 Понятие целостности базы данных. Условия целостности. Транзакции. Обработка транзакций. Свойства транзакций. Модель ANSI/ISO. Назначение и использование журнала транзакций. Откат и восстановление

Целостность БД - правильность и непротиворечивость ее содержимого на уровне отдельных объектов и операций на уровне базы данных в целом

Транзакция – неделимая с точки зрения воздействия на БД последовательность операторов манипулирования данными (чтения, удаления, вставки, модификации) такая, что: либо результаты всех операторов, входящих в транзакцию, отображаются в БД; либо воздействие всех этих операторов полностью отсутствует.

Выполнение и откат транзакции COMMITROLLBACK Исходное состояние Исходное состояние Измененная БД Нарушение целостности

Модели транзакций: Стандарт ANSI/ISO (СУБД DB2) – автоматическое выполнение транзакций COMMIT ROLLBACK Модель транзакций СУБД Sybase (Transact-SQL) – управляемое выполнение транзакций BEGIN TRANSACTION COMMIT TRANSACTION SAVE TRANSACTION ROLLBACK

Модель автоматического выполнения транзакций Непротиворечивая БД INSERT COMMIT UPDATE COMMIT ROLLBACK Транзакция автоматически начинается с выполнения пользователем или программой первой инструкции SQL. Завершается последовательное выполнение инструкций одним из двух способов: инструкцией COMMIT (изменения, внесенные в БД, становятся постоянными, а новая транзакция начинается сразу после инструкции COMMIT); инструкцией ROLLBACK (отменяет выполнение текущей транзакции и возвращает БД к состоянию начала транзакции, новая транзакция начинается сразу после инструкции ROLLBACK).

Модель управляемого выполнения транзакций Исходное состояние БД BEGIN TRANSACTION INSERT SAVE TRANSACTION A Точка сохранения А UPDATE ROLLBACK TO A DELETE COMMIT TRANSACTION Состояние БД после транзакции BEGIN TRANSACTION сообщает о начале транзакции; COMMIT TRANSACTION сообщает об успешном выполнении транзакции (новая транзакция не начинается автоматически); SAVE TRANSACTION позволяет создать внутри транзакции точку сохранения; ROLLBACK отменяет выполнение текущей транзакции и возвращает БД к состоянию SAVE TRANSACTION или к состоянию начала транзакции.

Восстановление БД Восстановление БД ( последнее согласованное состояние после сбоя) = Журнал транзакций + Архивная копия

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

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

Свойства ACID (Atomicity, Consistency, Isolation, Durability): атомарность – операции транзакции образуют неразделимый атомарный блок с определенным началом и концом. Этот блок либо выполняется от начала до конца, либо не выполняется вообще; согласованность – по завершении транзакции все задействованные объекты находятся в согласованном состоянии; изолированность – одновременный доступ транзакций различных приложений к разделяемым объектам координируется таким образом, чтобы эти транзакции не влияли друг на друга; долговременность – все изменения данных, осуществленные в процессе выполнения транзакции, не могут быть потеряны.