- •Информационные системы, основные функции и области применения
- •Банк данных и его компоненты
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель
- •Классификация программ субд
- •Общие понятия реляционного подхода к организации бд Основные концепции и принципы
- •Индексирование
- •Отношения между таблицами
- •Управление реляционной базой данной. Реляционная алгебра. Реляционное исчисление.
- •Реляционное исчисление
- •Проектирование реляционных баз данных с использованием нормализации.
- •Первая нормальная форма таблицы
- •Вторая нормальная форма
- •Управление транзакциями
- •Транзакции и целостность бд
- •Изолированность пользователей
- •Сериализация транзакций
- •Методы сериализации транзакций
- •Синхронизационные захваты
- •Тупики распознавания и разрушения
- •Метод временных меток
- •Элементы языка sql Функции и основные возможности языка sql
- •Отличие sql от процедурных языков программирования
- •Интерактивный и встроенный sql
- •Составные части sql
- •Типы данных sql
- •Числовые типы данных:
- •Используемые термины и обозначения
- •Выборка данных с использование предложения select
- •Простейшие select-запросы
- •Преобразование вывода и встроенные функции
- •Числовые и символьные константы
- •Арифметические операции для преобразования числовых данных
- •Операция конкатенации строк
- •Агрегирование и групповые функции
- •Упорядочение выходных полей
- •Вложенные подзапросы
- •Формирование связанных подзапросов
- •Организация данных в InterBase
Управление транзакциями
Поддержание механизма транзакции показатель уровня развитости СУБД. Корректное поддержание транзакции одновременно является основой поддержания целостности БД, а также составляют базис изолированности пользователей во много пользовательских системах.
Под транзакцией понимается неделимое с точки зрения воздействия на базу данных последовательность операторов манипулирования данными (удаление, вставка, модификация) такая, что либо результаты всех операторов входящих в транзакцию отображаются в БД, либо воздействие всех этих операторов полностью отсутствуют. Девиз транзакции – Все или ничего.
При завершении транзакции оператором COMMIT результаты гарантированно фиксируются во внешней памяти.
При завершении транзакции оператором ROLLBACKрезультаты гарантированно отсутствуют во внешней памяти.
Транзакции и целостность бд
Понятие транзакции имеет непосредственную связь с понятием целостности БД. Часто БД может обладать такими ограничениями целостности, которые невозможно не нарушить выполняя только один оператор изменения БД.
Например. В БД «Сотрудник отдела » естественным ограничением целостности является совпадение значения атрибута размер отдела в кортеже отношения «отделы» описывающим данный отдел с числом кортежей отношения «сотрудник» таких, что значения атрибута «сотрудник отдела №320» в этом случае принять на работу в отдел 320 нового сотрудника необходимо выполнить операцию вставки нового кортежа в отношение сотрудники или операцию модификации существующего кортежа в отношении отдела после выполнения 1 или 2 операции БД окажется в нецелостном состоянии. Поэтому, для поддержания подобных ограничений целостности допускается их разрушение внутри транзакции с тем условием, чтобы к моменту завершения транзакции условия целостности были соблюдены. В системах с развитыми средствами ограничения и контроля целостности каждая транзакция начинается при целостном состоянии БД и должна оставить это состояние после своего завершения, несоблюдение этого условия приводит к тому, что вместо фиксации результатов транзакции происходит её откат и БД остается в таком состоянии, в котором она находилась к моменту начала транзакции.
Различают 2 вида ограничения целостности:
Немедленно поверяемые ограничения целостности. К ним относятся такие ограничения проверку которых бессмысленно или невозможно откладывать. Немедленно проверяемые ограничения целостности соответствуют уровню отдельных операторов языкового уровня СУБД. При их нарушениях не производиться откат транзакции, а лишь отвергается соответствующий оператор.
Откладываемы ограничения целостности – это ограничения на базу данных, а не на какие-либо отдельные операции. Такие ограничения по умолчанию проверяются в конце транзакции и их нарушение вызывает автоматическую замену оператора commit на rollback. В некоторых системах поддерживается специальный оператор насильственной проверки ограничений целостности внутри транзакций
