- •Основные требования к организации базы данных
- •Основные компоненты субд
- •Три уровня представления данных в аис.
- •Классификация моделей данных
- •Инфологическое моделирование
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных. Элементы модели
- •Правила вывода функциональной зависимости
- •Реляционная алгебра
- •Нфсо, нф1, нф2
- •Нормальная форма Бойса - Кодда(нфбк)
- •Минимальное покрытие
- •Обобщённый алгоритм декомпозиции:
- •Соединение без потерь, сохраняющих зависимость
- •Метод Табло
- •Язык запросов sql. Основные категории
- •Язык запросов sql. Тип связывания
- •Многотабличные запросы. Использование псевдонимов
- •Использование оператора union для объединения результатов инструкций select
- •Модели транзакций. Журнал транзакций.
- •Основные компоненты субд Cache'
- •Файлы прямого и последовательного доступа
- •Инвертированные списки
- •Многозначная зависимость
- •Модель удаленного доступа к данным
- •Постреляционная модель данных
- •Многомерные модели
- •Распределенная обработка данных
- •Плотный, неплотный индекс
- •Модель сервер-приложение
- •Организация индексов в виде в-деревьев
- •Реляционное исчисление с переменными на доменах
- •Реляционное исчисление с переменными кортежами
- •Модель активного сервера
- •Модель файлового сервера
- •Субд Cache. Виды классов. Элементы классов
Модели транзакций. Журнал транзакций.
Транзакция – последовательность операций, производимых над базой данных и переводящих базу данных из одного непротиворечивого состояния в другое.
Типы транзакций:
Плоские (классические)
Цепочечные
Вложенные
Плоские:
Характеризуются четырьмя классическими свойствами.
Атомарность (Atomicity)
Согласованность (Consistency)
Изолированность (Isolation)
Долговечность (Durability)
Атомарность (Atomacity) выражается в том, что транзакция должна быть выполнена в целом или не выполнена вовсе.
Согласованность (Consistency) гарантирует, что по мере выполнения транзакций, данные переходят из одного согласованного состояния в другое. Транзакции не разрушает взаимной согласованности данных.
Изолированность (Isolation) гарантирует, что конкурирующие за доступ к базе данных транзакции физически обрабатываются последовательно изолированно друг от друга, но для пользователя выглядят так, как будто выполняются параллельно.
Долговечность (Durability): если транзакция завершена успешно, то те изменения в данных, которые были произведены, не могут быть потеряны ни при каких обстоятельствах, даже в случае последующих ошибок.
Возможны 2 варианта завершения транзакции:
Фиксация – действие, обеспечивающее запись на диск изменений в базе данных, которые были сделаны в процессе выполнения транзакции. Это значит, что результаты выполнения транзакции станут видимы другим пользователям.
Откат – действие, обеспечивающее аннулирование всех изменений данных, которые были сделаны операторами SQL в теле текущей незавершенной транзакции.
Модель транзакции(рисунок):
Транзакция начинается с первого SQL оператора. Последующие составляют тело транзакции. Commit выполняется в случае успешного завершения обработки информации, объединенной в транзакцию. Его выполнение фиксирует изменения, внесенные в базу данных текущей транзакции. Roilback прерывает выполнение транзакции и осуществляет отмену изменений, проведенных в ходе выполнения транзакции.
Вопросы реализации в СУБД подтверждения или отката транзакции обеспечивается специальным механизмом, для поддержки которого создается журнал транзакций. Он предназначен для надежного хранения данных в базе данных. Это требование предполагает возможность восстановления согласованного состояния базы данных после любого рода программных или аппаратных сбоев.
Общие принципы восстановления
Результаты зафиксированных транзакций должны быть сохранены в восстановленном состоянии базы данных. Результаты незафиксированных транзакций должны отсутствовать в восстановленном состоянии базы данных.
Восстановление возможно при:
индивидуальный откат транзакции. Он должен быть применен в определенных ситуациях
аварийное завершение работы
стандартная ситуация отката транзакции
принудительный откат транзакции
в случае взаимной блокировки при параллельном выполнении транзакции
мягкий сбой
Восстановление после внезапной потери содержания оперативной памяти. В случае:
аварийное отключение электропитания
возникновения неустранимого сбоя процессора