
- •1. Информация о дисциплине
- •1.1. Предисловие
- •Место дисциплины в учебном процессе
- •1.2. Содержание дисциплины и виды учебной работы Содержание дисциплины по гос
- •1.2.1. Объем дисциплины и виды учебной работы
- •1.2.2. Перечень видов практических занятий и контроля:
- •2. Рабочие учебные материалы
- •2.1. Рабочая программа (объем дисциплины 140 часов)
- •Раздел 1. Назначение и основные компоненты системы баз данных (12 часов)
- •1.1. Субд – основа информационных систем (8 часов)
- •1.2. Современные архитектуры ис (4 часа)
- •Раздел 2. Архитектура банка данных(20 часов)
- •2.1. Уровни представления баз данных (5 часов)
- •2.2. Категории пользователей банков данных (5 часов)
- •2.3. Концепции и этапы проектирования баз данных (10 часов)
- •Раздел 3. Модели и типы данных в бд (24 часа)
- •3.1. Представление концептуальной модели средствами субд (14 часов)
- •3.2. Типовые модели данных субд (10 часов)
- •Раздел 4. Базовые элементы реляционных бд (25 часов)
- •4.1. Проектирование реляционной базы данных (9 часов)
- •4.2. Нормализация отношений в бд (16 часов)
- •Раздел 5. Язык структурированных запросов sql (28 часов)
- •5.1. Язык манипулирования данными для реляционной модели (8 часов)
- •5.2. Реализация запросов в языке sql (20 часов)
- •Раздел 6. Использование баз данных (28 часов)
- •2.2. Тематические планы дисциплины
- •2.2.1. Тематический план дисциплины для студентов очной формы обучения
- •2.2.2. Тематический план дисциплины для студентов очно-заочной формы обучения
- •2.2.3. Тематический план дисциплины для студентов заочной формы обучения
- •2.3. Структурно-логическая схема дисциплины
- •2.4. Временной график изучения дисциплины
- •2.5. Практический блок Практические занятия (очная форма обучения)
- •Практические занятия (очно-заочная)
- •Практические занятия (заочная формы обучения)
- •Лабораторные работы (очная форма обучения)
- •Лабораторные работы (очно-заочная форма обучения)
- •Лабораторные работы (заочная форма обучения)
- •2.6. Балльно-рейтинговая система
- •3. Информационные ресурсы дисциплины
- •3.1. Библиографический список
- •3.2. Опорный конспект введение
- •Раздел 1. Назначение и основные компоненты системы баз данных
- •1.1. Субд – основа информационных систем
- •1.1.1. Эволюция развития систем управления данными
- •1.1.2. Локальная технология
- •1.1.3. Архитектура с сетью и файловым сервером
- •1.2. Современные архитектуры ис
- •1.2.1. Архитектура "клиент – сервер"
- •1.2.2. Трехзвенная архитектура "клиент – сервер"
- •1.2.3. Архитектура Intranet-приложений
- •Вопросы для самопроверки по теме 1.2
- •Раздел 2. Архитектура банка данных
- •2.1. Уровни представления баз данных
- •2.1.1. Основная терминология
- •2.1.2. Архитектура базы данных.
- •2.1.3. Процесс прохождения пользовательского запроса в субд
- •2.2. Категории пользователей банков данных
- •2.2.1. Классификация пользователей БнД
- •2.2.2. Основные функции группы администратора бд
- •2.3. Концепции и этапы проектирования баз данных
- •2.3.1. Жизненный цикл бд
- •2.3.2. Общая структура процесса проектирования бд
- •Раздел 3. Модели и типы данных в бд
- •3.1. Представление концептуальной модели средствами субд
- •3.1.1. Общие представления о моделях данных субд
- •3.1.2. Классификация моделей данных
- •3.2. Типовые модели данных субд
- •3.2.1. Иерархическая и сетевая модель данных
- •3.2.2. Реляционная и постреляционная модель данных
- •3.2.3. Многомерная модель данных
- •Раздел 4. Базовые элементы реляционных бд
- •4.1. Проектирование реляционной базы данных
- •4.1.1. Свойства и виды отношений
- •4.1.2. Реляционная алгебра
- •4.2. Нормализация отношений в бд
- •4.2.1. Понятие о нормальных формах
- •4.2.2. Формальные методы синтеза и декомпозиции нормальных форм
- •4.2.3. Проектирование с использованием метода сущность – связь
- •Раздел 5. Язык структурированных запросов sql
- •5.1. Язык манипулирования данными для реляционной модели
- •5.1.1. Назначение и история языка sql
- •5.1.2. Операторы языка sql
- •5.1.3. Модификация хранимых отношений в субд
- •5.2. Реализация запросов в языке sql
- •5.2.1. Примеры запросов
- •5.2.2. Агрегатные функции
- •5.2.3. Хранимые запросы
- •Области применения триггеров и хранимых процедур
- •Раздел 6. Использование бд
- •6.1. Программирование и управление транзакциями
- •6.1.1. Управление транзакциями в системах баз данных
- •6.1.2. Менеджеры транзакций
- •6.1.3. Параллельное выполнение транзакций
- •6.1.4. Методы сериализации транзакций.
- •6.1.5. Уровни изолированности пользователей.
- •6.2. Защита баз данных. Целостность и сохранность баз данных
- •6.2.1. Методы обеспечения безопасности
- •6.2.2. Программно-технический аспект информационной безопасности
- •6.2.3. Избирательное и мандатное управление доступом
- •6.3. Современные субд. Тенденции построения и использования баз данных
- •6.3.1. Объектная и реляционная технология
- •6.3.2. Объектно-реляционные субд
- •6.3.3. Критерии сравнения субд
- •Заключение
- •3.3 Глоссарий
- •3.4. Учебное пособие
- •3.5. Методические указания к выполнению лабораторных работ
- •3.5.1. Общие указания
- •3.6. Методические указания к выполнению практических занятий
- •3.6.1. Задания на практические занятия
- •3.6.2. Методические указания к выполнению практических заданий
- •4. Блок контроля освоения дисциплины
- •4.1. Общие указания
- •4.2. Задание на курсовой проект и методические указания к его выполнению
- •Тематика курсовых проектов
- •Рекомендуемые государственные стандарты
- •Пример оформления титульного листа
- •Задание на курсовой проект по дисциплине
- •4.3. Текущий контроль Тренировочные тесты Тест № 1 (по разделу 1)
- •8. Информационная система (ис) – это …
- •Тест №2 (по разделу 2)
- •Тест № 3 (по разделу 3)
- •8. При создании схемы таблицы бд следует описать:
- •Тест № 4 (по разделу 4)
- •Тест № 5 (по разделу 5)
- •Тест № 6 (по разделу 6)
- •3. Согласованность транзакции означает…
- •4. Изоляция транзакции означает…
- •5. Сохранность транзакции означает…
- •6. Транзакция продолжается до тех пор, пока не произойдет одно из следующих событий:
- •7. Оператор commit означает…
- •8. Оператор rollback означает…
- •Правильные ответы на тренировочные тесты
- •4.4. Итоговый контроль Вопросы для подготовки к экзамену
- •Приложение 1. Определение данных в sql.
- •Приложение 2. Журнализация изменений базы данных
- •Приложение 3. Система безопасности в субд
- •1. Информация о дисциплине 3
- •2. Рабочие учебные материалы 6
- •3. Информационные ресурсы дисциплины 23
- •4. Блок контроля освоения дисциплины 143
- •191186, Санкт-Петербург, ул. Миллионная, 5
Приложение 2. Журнализация изменений базы данных
Одним из основных требований является надежность хранения баз данных. Это требование предполагает возможность восстановления согласованного состояния базы данных после любого программного или аппаратного сбоя.
Типичная СУБД должна предоставлять такие функции восстановления, как:
механизм резервного копирования, предназначенный для периодического создания копий базы данных;
средства ведения журнала, в котором фиксируются текущее состояние транзакций и вносимые в базы данных изменения;
функция создания контрольных точек, обеспечивающая перенос выполняемых в базе данных изменений во вторичную помять с целью сделать их постоянными;
менеджер восстановления, обеспечивающий восстановление согласованного состояния базы данных, нарушенного в результате отказа.
Указанные механизмы восстановления рассмотрены в учебном пособии [18] в приложении 2 (Журнал транзакций).
Там же рассмотрены ситуации при которых требуется производить восстановление состояния базы данных:
Индивидуальный откат транзакции.
Восстановление после внезапной потери содержимого оперативной памяти (мягкий сбой).
Восстановление после поломки основного внешнего носителя базы данных (жесткий сбой).
Общей целью журнализации изменений базы данных является обеспечение возможности восстановления согласованного состояния базы данных после любого сбоя. Поскольку основой поддержания целостного состояния базы данных является механизм транзакций, журнализация и восстановление тесно связаны с понятием транзакции. Общие принципы восстановления следующие:
результаты зафиксированных транзакций должны быть сохранены в восстановленном состоянии базы данных;
результаты незафиксированных транзакций должны отсутствовать в восстановленном состоянии базы данных.
В файл журнала может помещаться следующая информация: записи о транзакциях (идентификатор транзакции, тип записи журнала, идентификатор элемента данных, вовлеченного в операцию обработки базы данных, копию элемента данных до и после операции) и записи о контрольных точках.
Основой восстановления является избыточное хранение данных; эти данные хранятся в журнале, содержащем последовательность записей об изменении базы данных. Возможно два варианта ведения журнальной информации:
В первом варианте - для каждой транзакции поддерживается отдельный локальный журнал изменений базы данных этой транзакции и может поддерживаться в оперативной (виртуальной) памяти; кроме того, поддерживается общий журнал изменений базы данных. Этот вариант позволяет быстро выполнить индивидуальные откаты транзакций, однако приводит к значительному дублированию информации в локальных и общем журналах;
Второй вариант - поддержание только общего журнала изменений базы данных, который и применяется выполнении индивидуальных откатов.
Индивидуальный откат транзакции.
Для того чтобы можно было выполнить по общему журналу индивидуальный откат транзакции, все записи в журнале о данной транзакции связываются в обратный список. Началом списка для незакончившихся является запись о последнем изменении базы данных, произведенном данной транзакцией. Концом списка всегда служит запись об изменении базы данных, произведенном данной транзакцией. Обычно в каждой записи проставляется идентификационный номер транзакции, чтобы можно было восстановить прямой список записей об изменениях базы данных определенной транзакции.
Индивидуальный откат транзакции выполняется следующим образом:
выбирается очередная запись из списка данной транзакции;
выполняется противоположная по смыслу операция (например, вставка вместо удаления); тем самым восстанавливается предыдущее состояние объекта базы данных;
обратные операции журнализируются;
при успешном завершении отката в журнал заносится запись о конце транзакции; с точки зрения механизма журнализации такая транзакция является зафиксированной.
Восстановление после мягкого сбоя.
К числу проблем, возникающих при мягком сбое, относится тот факт, что одна логическая операция модификации базы данных может изменить несколько физических блоков базы данных. После мягкого сбоя набор страниц внешней памяти базы данных может оказаться несогласованным, т.е. часть страниц внешней памяти соответствует измененному состоянию объекта, а часть - нет. К такому состоянию не применима операция восстановления логического уровня. Если состояние объекта соответствует состоянию объекта до/после его изменения, то состояние внешней памяти базы данных называют физически согласованным.
Контрольные точки.
Контрольная точка – момент синхронизации между базой данных и журналом регистрации транзакций. Все буферы оперативной памяти принудительно записываются во вторичную память системы.
Контрольные точки организуются через установленный временной интервал и включают выполнение следующих действий:
запись всех имеющихся в оперативной памяти записей журнала во вторичную память;
запись всех модифицированных блоков в буферах базы данных во вторичную память;
помещение в файл журнала записи контрольной точки, которая содержит идентификаторы всех транзакций, которые были активны в момент создания этой контрольной точки.
Восстановление после жесткого сбоя, механизм резервного копирования.
Любая СУБД должна предоставлять механизм, позволяющий создавать резервные копии базы данных и ее журнала через установленные промежутки времени и без необходимости останавливать систему.
Для этого типа восстановления недостаточно только восстановление последнего состояния базы данных, поэтому основным инструментом является в этом случае журнал и архивная копия базы данных.
Восстановления начинается с обратного копирования базы данных из архивной копии; затем для всех закончившихся транзакций операции выполняются повторно в прямом смысле. По журналу (в прямом направлении) выполняются все операции, для не закончившихся к моменту сбоя операциям применяется откат. Поскольку жесткий сбой не сопровождается утратой буферов оперативной памяти, можно восстановить базу данных до такого уровня, чтобы можно было продолжить даже выполнение незакончившихся транзакций. Восстановление после жесткого сбоя - процедура достаточно длительная. К сожалению, возможна утрата и журнала изменений, тогда единственным источником данных является архивная копия; недостатком в данном случае является восстановление не к последнему согласованному состоянию базы данных.
Производство архивных копий возможно несколькими путями: при переполнении журнала изменений и архивирование самого журнала изменений.