
- •Структуры данных. Стек. Очередь. Список.
- •Методы сортировки. Примеры алгоритмов.
- •Поиск данных в массивах и в файлах. Примеры алгоритмов.
- •Доступ к бд средс-ми php
- •1. Поддержка баз данных в рнр.
- •Технология Microsoft .Net. Особенности, основные положения и характеристики.
- •2. Основные функциональные средства управления сеансом.
- •5. Получение и обработка результатов запроса
- •6.Отсоединение от бд
- •7. Освобождение ресурсов
- •Объектно-ориентированное программирование средствами с#.
- •Создание Windows-приложений средствами с##.
- •Виртуальные функции и полиморфизм. Реализация на с#. Примеры.
- •Элементы контроля в c#. Примеры.
- •Технология ole-db и ado для работы с базами данных.
- •Правила целостности реляционной модели баз данных. Основные операции реляционной алгебры.
- •Нормализация таблиц.1-я, 2-я, 3-я нормальные формы.
- •Общая концепция языка sql. Особенности построения sql-запросов
- •3.3.2. Целостность сущностей
- •3.3.3. Ссылочная целостность
- •3.3.4. Корпоративные ограничения целостности
- •Языки доступа к данным в реляционной субд,основные возможности; их отличия. Примеры.
- •Основные возможности языка sql при выборе данных из бд
- •Основные команды компонента ddl языка sql. Примеры создания, удаления таблиц и модификации структуры таблицы.
- •Хранимые процедуры. Разработка хранимых процедур на ms sql Server
- •Понятие транзакции. Управление параллельностью.
- •Распределенные бд и системы управления распределенными бд.
- •13.Понятие интерфейса. Интерфейс и его реализация. Примеры на диаграмме классов.
Понятие транзакции. Управление параллельностью.
Транзакция - действие или серия действий, выполняемых одним пользователем или прикладной программой, которые осуществляют доступ или изменение содержимого базы данных.
Простейшей транзакцией, выполняемой в подобной базе данных, может быть модификация зарплаты определенного работника, указанного его личным номером х.
Любая транзакция всегда должна переводить базу данных из одного согласованного состояния в другое, хотя допускается, что согласованность состояния базы будет нарушаться в ходе выполнения транзакции. Любая транзакция завершается одним из двух возможных способов. В случае успешного завершения результаты транзакции фиксируются (commit) в базе данных, и последняя переходит в новое согласованное состояние. Если выполнение транзакции не увенчалось успехом, она отменяется. В этом случае в базе данных должно быть восстановлено то согласованное состояние, в котором она находилась до начала данной транзакции. Этот процесс называется откатом (roll back) транзакции.
Существуют некоторые свойства, которыми должна обладать любая из транзакций. Ниже представлены четыре основных свойства (ACID — аббревиатура, составленная из первых букв их английских названий).
Атомарность. Это свойство типа "все или ничего". Любая транзакция представляет собой неделимую единицу работы, которая может быть либо выполнена вся целиком, либо не выполнена вовсе.
Согласованность. Каждая транзакция должна переводить базу данных из одного согласованного состояния в другое согласованное состояние.
Изолированность. Все транзакции выполняются независимо одна от другой. Другими словами, промежуточные результаты незавершенной транзакции не должны быть доступны другим транзакциям.
Продолжительность. Результаты успешно завершенной (зафиксированной) транзакции должны сохраняться в базе данных постоянно и не должны быть утеряны в результате последующих сбоев.
Управление параллельностью. Процесс организации одновременного выполнения в базе данных различных операций, гарантирующий исключение их взаимного влияния друг на друга.
Важнейшей целью создания баз данных является организация параллельного доступа многих пользователей к общим данным, используемым ими совместно. Обеспечить параллельный доступ относительно несложно, если все пользователи будут только читать данные, помещенные в базу. В этом случае работа каждого из них не оказывает никакого влияния на работу остальных пользователей. Однако, если два или больше пользователей одновременно обращаются к базе данных и хотя бы один из них имеет целью обновить хранимую в базе информацию, возможно взаимное влияние процессов друг на друга, способное привести к несогласованности данных.
Однако, несмотря на то, что каждая из транзакций может сама по себе выполняться вполне корректно, подобное чередование операций способно приводить к неверным результатам, из-за чего целостность и согласованность базы данных будет нарушена. Мы рассмотрим три примера потенциальных проблем, которые могут иметь место при параллельном выполнении транзакций:
проблему потерянного обновления,
проблему зависимости от нефиксированных результатов,
проблему несогласованной обработки.