
- •Материал
- •Информационная система. Требования, предъявляемые к информационным системам. Цели внедрения ис.
- •Классификация информационных систем
- •Информационная система оперативного уровня
- •Информационные системы функционального уровня
- •Стратегическая информационная система
- •Проектирование ис. Цели проектирования ис. Требования к технологии проектирования
- •Средства проектирования ис. Основные признаки средств проектирования ис
- •Жизненный цикл информационной системы
- •Каноническое проектирование. Стадии канонического проектирования.
- •Типовое проектирование ис. Типовое проектное решение, классификация
- •Методология sadt (idef0)
- •Методология потоков данных dfd. Построение иерархии диаграмм потоков данных.
- •Построение иерархии диаграмм потоков данных
- •Уточнение концептуальной модели данных.
- •Диаграммы «сущность-связь». Базовые понятия er-диаграммы. Методы построения er-диаграмм. Моделирование данных
- •Базовые понятия er-диаграммы
- •Методы построения er-диаграмм
- •Нормализация бд
- •Первая нормальная форма (1нф)
- •Вторая нормальная форма (2нф)
- •Третья нормальная форма (знф)
- •Нормальная форма Бойса-Кодда (нфбк)
- •Общая характеристика языка sql. Стандарты sql. Совместимость
- •Стандартизация
- •Категории команд sql
- •Преимущества и недостатки языка sql
- •Транзакция, ее определение. Свойства транзакций.
- •Распределенные субд. Критерии распределенности.
- •Oltp и olap-системы
Транзакция, ее определение. Свойства транзакций.
Транзакция - это последовательность операторов манипулирования данными, выполняющаяся как единое целое (все или ничего) и переводящая базу данных из одного целостного состояния в другое целостное состояние.
Транзакция обладает четырьмя важными свойствами, известными как свойства АСИД:
Атомарность. Транзакция выполняется как атомарная операция - либо выполняется вся транзакция целиком, либо она целиком не выполняется. Атомарность гарантирует, что никакая транзакция не будет зафиксирована в системе частично. Будут либо выполнены все её подоперации, либо не выполнено ни одной. Поскольку на практике невозможно одновременно и атомарно выполнить всю последовательность операций внутри транзакции, вводится понятие «отката» (rollback): если транзакцию не удаётся полностью завершить, результаты всех её до сих пор произведённых действий будут отменены и система вернётся в исходное состояние.
Согласованность. Транзакция переводит базу данных из одного согласованного (целостного) состояния в другое согласованное (целостное) состояние. Внутри транзакции согласованность базы данных может нарушаться. Одно из самых сложных и неоднозначных свойств из четвёрки ACID. В соответствии с этим требованием, система находится в согласованном состоянии до начала транзакции и должна остаться в согласованном состоянии после завершения транзакции. Не нужно путать требование согласованности с требованиями целостности (integrity). Последние правила являются более узкими и, во многом, специфичны для реляционных СУБД: есть требования целостности типов (domain integrity), целостности ссылок (referential integrity), целостности сущностей (entity integrity), которые не могут быть нарушены физически в силу особенностей реализации системы.
Согласованность является более широким понятием. Например, в банковской системе может существовать требование равенства суммы, списываемой с одного счёта, сумме, зачисляемой на другой. Это бизнес-правило и оно не может быть гарантировано только проверками целостности, его должны соблюсти программисты при написании кода транзакций. Если какая-либо транзакция произведёт списание, но не произведёт зачисление, то система останется в некорректном состоянии и свойство согласованности будет нарушено.
Наконец, ещё одно замечание касается того, что в ходе выполнения транзакции согласованность не требуется. В нашем примере, списание и зачисление будут, скорее всего, двумя разными подоперациями и между их выполнением внутри транзакции будет видно несогласованное состояние системы. Однако не нужно забывать, что при выполнении требования изоляции, никаким другим транзакциям эта несогласованность не будет видна. А атомарность гарантирует, что транзакция либо будет полностью завершена, либо ни одна из операций транзакции не будет выполнена. Тем самым эта промежуточная несогласованность является скрытой.
Изоляция. Транзакции разных пользователей не должны мешать друг другу (например, как если бы они выполнялись строго по очереди).
Долговечность. Если транзакция выполнена, то результаты ее работы должны сохраниться в базе данных, даже если в следующий момент произойдет сбой системы.