- •1. Основные понятия баз данных. Этапы развития субд. Функции, требования к субд.
- •2. Архитектура баз данных. Логическая и физическая независимость данных. Схема прохождения запросов к бд. Классификация моделей данных. Архитектура и модели "клиент-сервер" в технологии бд.
- •3. Реляционная модель бд, ее основные достоинства. Таблица, кортеж, атрибут, домен, первичный ключ, внешний ключ. Фундаментальные свойства отношений. Обеспечение целостности данных.
- •4. Основы реляционной алгебры. Операторы реляционной алгебры. Понятия полной, транзитивной, функциональной зависимостей. Нормализация, третья нормальная форма, шаги нормализации.
- •5. Модель «объект-свойство-отношение», er-диаграммы, проектирование схемы баз данных.
- •6. Язык sql, его структура, стандарты, история развития. Подмножество языка dml: операторы select, insert, update, delete.
- •7. Подмножество языка ddl: операторы create, alter, drop. Представления, их значение; обновляемые представления.
- •8. Подмножество языка dcl: операторы grant, revoke. Системные привилегии, привилегии на объекты, роли.
- •9. Транзакции, операторы управления транзакциями: commit, rollback, savepoint; журнал транзакций, уровни блокировок.
- •10. Pl/sql, структура, основные операторы.
- •11. Курсоры, операторы работы с курсором, оператор select into.
- •12. Процедуры, функции, пакеты.
- •13. Триггеры, их основные свойства и значение.
- •14. Параллельные архитектуры бд; масштабируемость, надежность, производительность.
- •15. Распределенные базы данных, фрагментация, тиражирование.
- •16. Средства защиты данных в субд.
- •17. Шлюзы к базам данных. Архитектура odbc. Www-интерфейс к бд.
- •18. Объектная модель данных.
- •19. Объектно-ориентированные и объектно-реляционные бд.
- •20. Эволюция технологий и возможностей субд oracle (oracle 8i, oracle 9i, oracle 10g).
- •21. Перспективы развития бд.
9. Транзакции, операторы управления транзакциями: commit, rollback, savepoint; журнал транзакций, уровни блокировок.
Транзакция — совокуп. команд DML, выполняющих логически неделимые операции (действие считается совершенным, когда выполнятся все команды).
#: перевод денег в банковской системе. Данная операция может состоять минимум из двух операций: снятие денег с одного счета и принятие денег на др. Если после вып. 1-го действия окажется, что 2-ое совершить невозможно (#: счет закрыт), то возникает неоднознач. ситуация — что будет с деньгами? Для разреш. подобных ситуаций исп. механизм транзакций.
Традиционные транзакции хар-зуются 4 классич. свойствами: атомарностью, согласованностью, изолированностью, долговечностью (прочности) — ACID (Atomicity, Consistency, Isolation, Durability). Иногда их наз. ACID-транзакциями.
Св-во атомарности: транзакция должна быть выполнена в целом или не выполнена вовсе.
Св-во согласованности: при вып. транзакций данные переходят из одного согласованного состояния в др.
Св-во изолированности: транзакции обрабатываются последовательно, изолированно друг от друга (для пользователей — как будто они вып. параллельно).
Св-во долговечности: если транзакция завершена успешно, изменения в данных, произведенные ею, не мб потеряны (даже в случае последующих ошибок).
Если все операторы выполнены успешно, и в процессе вып. не произошло сбоев программного или аппаратного обеспечения, транзакция фиксируется.
Откат транзакции — возвращение БД в состояние до выполнения транзакции. Происходит, если в процессе выполнения транзакции случилось что-то, делающее невозможным ее нормальное завершение.
Кроме выполнения явной фиксации (Commit) или отката (Rollback) транзакции, существует возможность неявного выполнения этих команд, т. е. без указания пользователем.
#: неявная фиксация транзакции осуществляется СУБД после выполнения оператора DDL.
#: неявный откат транзакции осуществляется СУБД при неожиданном завершении сессии (#: разрыв сетевого соединения) или при внезапном выключении сервера БД. В последнем случае БД после перезагрузки ОС вернется в последнее согласованное состояние.
3 оператора, предназнач. для управ. транзакциями:
Commit — явная фиксация транзакции.
Rollback — явный откат транзакции.
Savepoint — создание контрольной точки внутри транзакции (промежуточная фиксация транзакции с возможностью отката к этой точке).
# вып. операторов с фиксацией и откатом транзакций:
Транзакция начинается автоматически после установки соединения с БД.
Insert into Managers(Man_ID, Name, Percent) Values(100, ‘Иванов М.А.’, 5);
Промежуточная фиксация транзакции.
Savepoint Insert1OK;
Выполнение очередной команды DML.
Update Managers Set Percent=15 Where Man_ID=100;
Откат транзакции до точки Insert1OK.
Rollback to Insert1OK;
Откорректированная команда DML.
Update Managers Set Percent=16 Where Man_ID=100;
Фиксация транзакции и начало новой транзакции.
Commit;
Очередная команда DML.
Delete from Managers;
Отмена всех изменений в текущей транзакции (возврат БД к состоянию до пункта 6).
Rollback;
Журналы транзакций — спец. файлы, в кот. СУБД записывает все изменения или транзакции, произведенные в БД. Т. к. все транзакции полностью сохраняются в журналах повтора, с их помощью сервер БД всегда способен восстановить свое состояние на заданный момент времени. Каждая БД должна иметь как минимум 2 оперативных журнала транзакций.
Журналы транзакций работают по циклич. принципу. Когда 1-й заполнен, происходит переключение журналов и изменения заносятся во 2-й журнал.