
- •АвОсновные понятия баз данных. Этапы развития субд. Функции субд. Требования к системам управления базами данных.
- •Архитектура баз данных. Логическая и физическая независимость данных. Схема прохождения запросов к бд.
- •Классификация моделей данных. Архитектура и модели "клиент-сервер" в технологии бд.
- •Реляционная модель бд, ее основные достоинства. Таблица, кортеж, атрибут, домен, первичный ключ, внешний ключ. Фундаментальные свойства отношений.
- •Обеспечение целостности данных.
- •Основы реляционной алгебры. Операторы реляционной алгебры.
- •6.1. Основы реляционной алгебры
- •6.2. Операторы реляционной алгебры
- •Понятия полной и транзитивной функциональной зависимости. Нормализация, третья нормальная форма, шаги нормализации.
- •7.1. Понятия полной и транзитивной функциональной зависимости
- •7.2. Нормализация, третья нормальная форма, шаги нормализации
- •Модель «объект-свойство-отношение», er-диаграммы, проектирование схемы баз данных.
- •8.1. Модель «объект-свойство-отношение»
- •8.3. Проектирование схемы баз данных
- •Язык sql, его структура, стандарты, история развития. Подмножество языка dml: операторы select, insert, update, delete.
- •Структура языка sql
- •Вставка множества записей
- •Оператор изменения значений полей update
- •Оператор удаления строк delete
- •Подмножество языка ddl: операторы create, alter, drop. Представления, их значение; обновляемые представления.
- •10.1. Подмножество языка ddl: операторы create, alter, drop Оператор create - создание таблицы.
- •Создание внешнего ключа
- •Оператор drop
- •10.2. Представления, их значение; обновляемые представления
- •Создание и удаление представлений
- •Обновляемые представления
- •Подмножество языка dcl: операторы grant, revoke. Системные привилегии, привилегии на объекты, роли.
- •Объектные и системные привилегии
- •Операторы grant и revoke
- •Транзакции, операторы управления транзакциями: commit, rollback, savepoint; журнал транзакций, уровни блокировок.
- •Операторы управления транзакциями
- •Журналы транзакций
- •Язык pl/sql, его структура, основные операторы.
- •Курсоры, явные и неявные курсоры, операторы работы с курсором, оператор select into.
- •Процедуры, функции, пакеты.
- •Триггеры, их основные свойства и значение.
- •Параллельные архитектуры бд; масштабируемость, надежность, производительность.
- •Распределенные базы данных, фрагментация, тиражирование.
- •Средства защиты данных в субд.
- •Шлюзы к базам данных. Архитектура odbc. Www-интерфейс к бд.
- •Объектная модель данных
- •Объектно-ориентированные, объектно-реляционные бд, универсальные бд
- •Эволюция технологий и возможностей субд oracle (oracle 8i, oracle 9i, oracle 10g).
- •Роль grid-технологий в организации хранения и обработки данных. Перспективы развития технологий баз данных.
Транзакции, операторы управления транзакциями: commit, rollback, savepoint; журнал транзакций, уровни блокировок.
Транзакция представляет собой совокупность команд DML, выполняющих логически неделимые операции (действие будет считаться выполненным только тогда, когда будут выполнены все команды).
Например, перевод денег с одного счета на другой в банковской системе. Данная операция может состоять минимум из двух операций: снятие денег с одного счета (один оператор UPDATE или DELETE) и принятие денег на другой счет (еще один оператор UPDATE или INSERT). Если после выполнения первого действия оказывается, что второе действие совершить невозможно (например, счет закрыт), то возникает неоднозначная ситуация – куда в итоге денутся деньги? Для разрешения подобных ситуаций и используют механизм транзакций.
Традиционные транзакции, характеризуются четырьмя классическими свойствами: атомарностью, согласованностью, изолированностью, долговечностью (прочности) — ACID (Atomicity, Consistency, Isolation, Durability). Иногда традиционные транзакции называют ACID-транзакциями. Упомянутые выше свойства означают следующее.
Свойство атомарности выражается в том, что транзакция должна быть выполнена в целом или не выполнена вовсе.
Свойство согласованности гарантирует, что по мере выполнения транзакций данные переходят из одного согласованного состояния в другое.
Свойство изолированности означает, что транзакции физически обрабатываются последовательно, изолированно друг от друга, но для пользователей это выглядит так, как будто они выполняются параллельно.
Свойство долговечности трактуется следующим образом: если транзакция завершена успешно, то те изменения в данных, которые были ею произведены, не могут быть потеряны ни при каких обстоятельствах (даже в случае последующих ошибок).
Если все операторы выполнены успешно, и в процессе выполнения транзакции не произошло никаких сбоев программного или аппаратного обеспечения, транзакция фиксируется.
Если в процессе выполнения транзакции случилось нечто такое, что делает невозможным ее нормальное завершение, база данных должна быть возвращена в исходное состояние, происходит откат транзакции.
Кроме выполнения явной фиксации транзакции (COMMIT) или явного отката транзакции (ROLLBACK) существует возможность неявного выполнения этих команд, то есть без непосредственного указания одной из этих двух команд пользователем.
Неявная фиксация транзакции, например, осуществляется самой СУБД в том случае, когда выполняется один из операторов DDL (CREATE, ALTER или DROP).
Неявный откат транзакции, например, осуществляется СУБД тогда, когда происходит неожиданное завершение сессии (разрыв сетевого соединения из-за программной или аппаратной ошибки, в результате обрыва кабеля) или при внезапном выключении электропитания сервера базы данных. В последнем случае при включении электропитания сервера базы данных, база данных после перезагрузки операционной системы вернется в свое последнее согласованное состояние.