- •1. Общие понятия ис.
- •Жизненный цикл ис.
- •Пользователи ис делятся на внешних и внутренних.
- •Базы данных.
- •Проектирование бд.
- •Факто-графические системы.
- •2. Ограничения целостности. Виды и реализация.
- •Обеспечение целостности (12 Восстановление данных)
- •3. Сетевая и иерархическая модель данных Сетевая модель
- •Типовые операции с данными:
- •Иерархическая модель.
- •4. Реляционная модель данных
- •Математический аппарат реляционной модели.
- •5. Нормализация отношений
- •6. Инфологическое проектирование
- •7. Даталогическое проектирование (дп)
- •Преобразование в дм для реляционной субд
- •8. Организация диалога
- •9. Функциональное проектирование
- •10. Язык sql
- •11. Защита от несанкционированного доступа
- •13. Организация многопользовательского доступа
- •14. Физическая организация данных
- •15. Методы поиска в бд
- •16. Документальные системы
Обеспечение целостности (12 Восстановление данных)
Для поддержки логической целостности используются:
-
На уровне поля или записи
-
Ограничения целостности, задаваемое в базе данных, либо реализация в приложении.
-
Для поля характер ограничительный, для записи может быть корректирующий.
-
На уровне ссылочной целостности – используется в реализации приложений, либо описание связанных ключей в БД.
Primary key – первичный ключ;
Foreign key references…. – вторичный ключ.
В базе данных можно задать триггеры. Триггеры - фиксированная или определяемая пользователем подпрограмма автоматического выполнения при изменении в базе данных. Для каждой таблицы БД можно задать триггер добавления, модификации и удаления. Триггер может быть:
-
Ограничительным;
-
Каскадным, т.е. меняется по всем связям значения;
-
Разрешается свободное нарушение связей.
-
Для поддержки транзакционной целостности используется аппарат транзакций.
Транзакция – набор операций с базой, которые должны быть выполнены все, либо не выполнены ни одна. В ходе выполнения транзакции информация в базе не достоверна.
Целостность имеется только до начала и после окончания. Для обеспечения транзакционной целостности ведется журнал транзакций. Использование журнала поддерживает как логическую, так и физическую целостность. Для поддержки физической целостности используются средства, соответствующие общей схеме:
Д – собственно БД в основной памяти
Буф Д – буфер данных, служит для временного хранения обрабатываемых данных, позволяет повысить быстродействие за счет кэширования информации
АД – архив данных, для старых данных, не требующихся для оперативной работы.
Ж – журнал операций, протоколирует процесс изменений в базе. Это позволяет восстановить запомненную последовательность действий.
Буф Ж – буфер журнала, для хранения самых свежих изменений, для обеспечения быстродействия.
АЖ – архив журнала, хранятся наиболее старые данные из журнала.
1) Нормальный режим – выполняется обработка данных в Буф Д, при необходимости считываются данные с диска. Изменения, выполнимые с БД запоминаются в Буф Ж. Из буферов на диск информация записывается в следующих ситуациях:
-
Из буфера Ж по переполнению, по явной команде системы, по завершению транзакции, по записи из буфера диска.
-
Из буфера Д – по переполнению буфера, по явной команде системе.
При сбросе буфера данных предварительно сбрасывается буфер журнала.
Данные могут архивироваться по явному заданию пользователя и возможно автоматически по заданию системы. Если в архив переносятся измененные данные, как правило, по дате создания, возможна полная архивация.
При переполнении Ж м.б. 2 варианта:
-
если есть АЖ, то старые данные сбрасываются в него. Для обеспечения непрерывности Ж может быть разделен на блоки. В один блок записывается из Буф, из другого блока скидывается в архив.
-
если нет АЖ, то при заполнении Ж выполняется приостановление, архивируется база, очищается журнал.
2) При нарушении целостности восстановление зависит от вида нарушений:
-
Восстановление в рамках одной транзакции
-
Восстановление после мягкого сбоя
-
Восстановление после жесткого сбоя
-
Откат транзакции
Нужно выполнять, если в ходе транзакции произошла ошибка, если пользователь задал окончание транзакции, или при возникновении конфликта транзакции.
Для отката просматриваются в обратном порядке операции транзакции, выполняются инверсные к ним.
Выполнение операции отката также фиксируются в журнале.
-
Восстановление после мягкого сбоя. После мягкого сбоя – теряем содержимое буфера. Восстановление по журналу в зависимости от начала и конца транзакции.
Т2 – данные , отсутствующие на диске, восстанавливаются по журналу
Т3 – незавершенная транзакция откатывается к началу изменений
Т4 – по журналу выполняется заново
Т5 – удаляются данные по транзакции из журнала.
-
Восстановление после жесткого сбоя. Потеряны данные на диске. Последовательность восстановления:
-
Записывается база из архива данных
-
Выполняется обновление по архиву журнала и журналу
-
Незавершенные транзакции откатываются на начало
Кроме указанных средств для повышения надежности в СУБД используется зеркалирование – это параллельная запись нескольких копий.