Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая по БД, Мальцева, ЭМ-301701.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
119.07 Кб
Скачать

Министерство образования и науки Российской Федерации

Федеральное государственное автономное образовательное учреждение

высшего профессионального образования

«Уральский федеральный университет

имени первого Президента России Б.Н. Ельцина»

Высшая Школа Экономики и Менеджмента

Департамент бизнес-информатики и математического моделирования

Кафедра моделирования управляемых систем

Современные средства и механизмы поддержки транзакций в сурбд

Курсовая работа

студентки группы ЭМ-301701

Мальцевой А. А.

___________________

Научный руководитель:

Озорнин П. Н. ___________________

Екатеринбург

2012 г.

Оглавление

Введение 3

Глава 1. Основные термины и понятия 4

1.1 Определение транзакции и ее свойства 4

1.2 Уровни изоляции транзакций 7

1.3 Реализация уровней изоляции и свойств ACID 9

1.3.1 Журнализация транзакций 11

1.3.2 Механизм теневых страниц 13

Глава 2. Механизмы поддержки транзакций в различных сурбд 15

2.1 Oracle 15

2.2 MS SQL Server 17

2.3 PostgreSQL 19

2.4 MySQL 21

2.5 System R 22

Заключение 27

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

Введение

Актуальность данного исследования обусловлена необходимостью обработки большого количества баз данных в различных отраслях.

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

Реализация поставленной цели потребовала решения ряда конкретных задач, а именно:

  1. Рассмотреть принцип создания и работы транзакции;

  2. Рассмотреть свойства транзакций;

  3. Рассмотреть технологию применения транзакций в различных СУРБД.

Работа состоит из введения, двух глав, заключения и списка литературы. Во введении обоснована актуальность исследования и даны его основные характеристики. Первая глава посвящена основным сведениям. В ней рассматривается сущность транзакции, основные ее характеристики, свойства транзакций, журнал транзакций, журнализация и буферизация и др. Во второй главе рассмотрены механизмы поддержки транзакций в СУРБД Oracle, MS SQL Server, PostgreSQL, MySQL, System R. В заключении приведены основные выводы проведенного исследования. Библиография насчитывает 12 наименований.

Глава 1. Основные термины и понятия

1.1 Определение транзакции и ее свойства

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

Транзакция рассматривается как некоторое неделимое действие над базой данных, осмысленное с точки зрения пользователя. В то же время это логическая единица работы системы. Рассмотрим пример, который связан с принятием заказа в фирме на изготовление компьютера. Компьютер состоит из комплектующих, которые сразу резервируются за данным заказом в момент его формирования. Тогда транзакцией будет вся последовательность операций, включающая следующие операции:

  • ввод нового заказа со всеми реквизитами заказчика;

  • изменения состояния для всех выбранных комплектующих на складе на "занято" с привязкой их к определенному заказу;

  • подсчет стоимости заказа с формированием платежного документа типа выставляемого счета к оплате;

  • включение нового заказа в производство.

С точки зрения работника, это единая последовательность операций; если она будет прервана, то база данных потеряет свое целостное состояние.

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

Плоские, или традиционные, транзакции, характеризуются четырьмя классическими свойствами: атомарности, согласованности, изолированности, надежности — ACID (Atomicity, Consistency, Isolation, Durability). Упомянутые выше свойства означают следующее:

  • Свойство атомарности (Atomicity) выражается в том, что транзакция должна быть выполнена в целом или не выполнена вовсе.

  • Свойство согласованности (Consistency) гарантирует, что по мере выполнения транзакций данные переходят из одного согласованного состояния в другое — транзакция не разрушает взаимной согласованности данных.

  • Свойство изолированности (Isolation) означает, что конкурирующие за доступ к базе данных транзакции физически обрабатываются последовательно, изолированно друг от друга, но для пользователей это выглядит так, как будто они выполняются параллельно.

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

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

Возможны два варианта завершения транзакции.

Если все операторы выполнены успешно и в процессе выполнения транзакции не произошло никаких сбоев программного или аппаратного обеспечения, транзакция фиксируется. Фиксация транзакции — это действие, обеспечивающее запись на диск изменений в базе данных, которые были сделаны в процессе выполнения транзакции.

Если в процессе выполнения транзакции случилось нечто такое, что делает невозможным ее нормальное завершение, база данных должна быть возвращена в исходное состояние. Откат транзакции — это действие, обеспечивающее аннулирование всех изменений данных, которые были сделаны операторами SQL в теле текущей незавершенной транзакции.