- •Базы данных
- •Введение
- •Часть 1. Проектирование баз данных
- •1.1. Некоторые понятия и определения
- •1. 2. Модели данных
- •1.2.1. Иерархическая модель данных
- •1.2.2. Сетевая модель данных
- •1.2.3. Реляционная модель данных Основные определения
- •Типы связей между отношениями
- •1.3. Классификация баз данных
- •1.4. Цели проектирования баз данных
- •1.5. Проектирование баз данных с использованием универсального отношения
- •1.5.1. Универсальное отношение
- •1.5.2. Проблемы, вызываемые использованием универсального отношения
- •Проблема вставки
- •Проблемы обновления
- •Проблемы удаления
- •1.5.3. Нормальная форма Бойса -Кодда
- •Функциональные зависимости
- •Возможный ключ и детерминант
- •Общий подход к декомпозиции
- •Анализ исходных аномалий
- •1.5.4. Возможные потери фз при декомпозиции
- •1.5.5. Избыточные функциональные зависимости
- •Приемы удаления избыточных фз
- •Минимальное покрытие
- •Модернизированный алгоритм проектирования бд
- •1.6. Метод er - проектирования
- •1.6.1. Сущности и связи
- •1.6.2. Степень связи
- •1.6.3. Переход от диаграмм er – типа к отношениям
- •Предварительные отношения для бинарных связей степени 1:1
- •Предварительные отношения для бинарных связей степени 1:n.
- •Предварительные отношения для бинарных связей степени n:m
- •1.6.4. Дополнительные конструкции, используемые в er - методе
- •Необходимость связей более высокого порядка
- •Предварительные отношения для трехсторонних связей
- •Использование ролей
- •1.6.5. Последовательность проектирования бд при использовании er- метода
- •1.6.6. Проверка отношений на завершающейся фазе проектирования
- •1.7. Другие нормальные формы
- •1.8. Контрольные вопросы
- •Часть 2. Специальные аспекты работы с базами данных
- •2.1. Защита данных в базе
- •2.2.1. Общие вопросы защиты данных
- •2.2.2. Реализация защиты данных в различных системах
- •Управление доступом в sql
- •Реализация системы защиты в ms sql Server
- •2.2. Обеспечение целостности данных
- •2.3. Организация параллельных процессов обработки данных
- •2.4. Восстановление бд
- •2.4.1. Уровни восстановления.
- •2.4.2. Восстановление и логический элемент работы
- •Требования к лэр
- •2.4.3. Промежуточное восстановление
- •2.4.4. Длительное восстановление
- •2.5. Математический аппарат, используемый при работе с реляционной базой данных
- •2.5.1. Теоретико-множественные операции реляционной алгебры
- •2.5.2. Специальные операции реляционной алгебры
- •2.6. Контрольные вопросы
- •Часть 3. Разработка приложений для работы с базами данных
- •3.1. Краткий обзор субд
- •3.2. Субд Access
- •3.2.1. Вводные замечания
- •3.2.2. Создание базы данных
- •3.2.3. Создание и работа с таблицами
- •3.2.4. Работа с запросами
- •3.2.5. Создание форм
- •3.2.6. Отчеты в Access
- •3.2.7. Макросы в Access
- •Преобразование макросов в программы на Visual Basic
- •3.2.8. Работа с внешними данными
- •3.3. Программирование в Access
- •3.3.1. Вводные замечания
- •3.3.2. Объявление переменных
- •3.3.3. Константы
- •3.3.4. Тип данных Variant
- •3.3.5. Пользовательские типы данных
- •3.3.5.Операторы, команды и выражения в vba
- •3.3.7. Процедуры vba
- •3.3.8. Управляющие структуры в vba
- •Работа с управляющими структурами
- •3.3.9. Объекты в Access
- •3.3.10. Классы в Access
- •3.3.11. Работа с ошибками в vba
- •3.4.Работа в ms sql –Server
- •3.4.1. Основные количественные показатели системы sql-сервер
- •3.4.2. Создание баз данных
- •3.4.3. Создание таблицы
- •3.4.4. Извлечение данных
- •3.4.5. Добавление данных
- •3.4.6. Изменение данных
- •3.4.7. Удаление данных
- •3.5. Контрольные вопросы
- •Цитированная литература
- •Оглавление
- •Часть 1. Проектирование баз данных 3
- •Часть 2. Специальные аспекты работы с базами данных 71
- •Часть 3. Разработка приложений для работы с базами данных 114
2.4.3. Промежуточное восстановление
Если появляется сбой из-за ошибки пользователя или системно-программной ошибки, то выполняемый в это время ЛЭР полностью исключается и возникает необходимость в перезапуске системы с некоторого предшествующего момента времени. Для этого в системе организуют контрольные точки. Контрольная точка для осуществления отката ЛЭР и является границей, с которой перезапускают систему. Момент возникновения сбоя нельзя заранее предугадать, поэтому периодически необходимо устанавливать контрольные точки
Копия
Контрольная точка 1-го типа Контрольная точка 2-го типа
Откат
Раскрутка
Рис.36.Промежуточное и длительное восстановление.
Существует два типа контрольных точек.
1. Условием установления контрольной точки является отсутствие в данный момент времени выполняющихся ЛЭР. Если такой элемент существует, то начало выполнения новых ЛЭР задерживается и после завершения выполняющегося элемента устанавливается контрольная точка. При появлении сбоя осуществляется откат в состояние, соответствующее последней установленной контрольной точке. Раскрутку ЛЭР, завершившегося между контрольной точкой и точкой появления сбоя, осуществляют с использованием системного журнала.
2. Контрольная точка устанавливается при наличии выполняющихся ЛЭР. В данном случае в контрольной точке фиксируют состояние рабочих областей всех выполняющихся ЛЭР. При появлении сбоя осуществляется откат в состояние контрольной точки. Для ЛЭР, который выполнялся в момент установления контрольной точки, откат осуществляется до его начального состояния и далее аналогично п.1.
2.4.4. Длительное восстановление
Если при возникновении сбоя БД разрушается, операция отката ЛЭР в начальное состояние становится бессмысленной. Для восстановления БД после таких сбоев периодически делают копии всей БД. С помощью такой копии воспроизводят состояние БД на момент снятия копии, а затем, используя системный журнал, осуществляют раскрутку до последней перед сбоем контрольной точки (рис.4.1).
Восстановление с помощью копии связано с большими затратами времени на операцию получения копии. Кроме того, появляются трудности, связанные с временной неработоспособностью системы.
2.5. Математический аппарат, используемый при работе с реляционной базой данных
Для выполнения операций над отношениями используется реляционная алгебра, основателем которой является Э.Ф.Кодд. Все множество операций реляционной алгебры можно разделить на две группы: теоретико-множественные и специальные. В первую группу входят 4 операции. Три первые теоретико-множественные операции являются бинарными, то есть в них участвуют два отношения и они требуют эквивалентных схем исходных отношений.
2.5.1. Теоретико-множественные операции реляционной алгебры
Объединением двух отношений называется отношение, содержащее множество кортежей, принадлежащих либо первому, либо второму исходным отношениям, либо обоим отношениям одновременно.
Пусть заданы два отношения R1 = { r1 } , R2 = {r2}, где r1 и r2 — соответственно кортежи отношений R1 и R2, то объединение
R3 = R1 U R2 = { r r R1 v r R2}. Здесь r — кортеж нового отношения, v -операция логического сложения «ИЛИ».
Пересечением отношений называется отношение, которое содержит множество кортежей, принадлежащих одновременно и первому и второму отношениям R1 и R2.
R4 = R1 Ç R2 ={ г | r Î R1Ù r Î R2 } здесь Ù — операция логического умножения (логическое «И»).
Разностью отношений R1 и R2 называется отношение, содержащее множество кортежей, принадлежащих R1 и не принадлежащих R2:
R5 = R1 \ R2 = { r | r Î R1 Ù r Ï R2}
Следует отметить, что операции Объединение и Пересечение являются коммутативными операциями, то есть результат операции не зависит от порядка аргументов в операции. Операция же Разности является принципиально несимметричной операцией, то есть результат операции будет различным для разного порядка аргументов. Кроме перечисленных трех теоретико-множественных операций в рамках реляционной алгебры определена еще одна теоретико-множественная операция — расширенное декартово произведение. Эта операция не накладывает никаких дополнительных условий на схемы исходных отношений, поэтому операция расширенного декартова произведения, обозначаемая R1 Ä R2, допустима для любых двух отношений. Но прежде чем определить саму операцию, введем дополнительно понятие конкатенации, или сцепления, кортежей
Сцеплением, или конкатенацией, кортежей с = <c1,c2 , ..., c n> и q = <q1,q 2, …, q m> называется кортеж, полученный добавлением значений второго в конец первого. Сцепление кортежей с и q обозначается как (с , q).
(с, q) = < c1, c 2,….. c n , q 1, q 2, …. , q m>
Здесь n — число элементов в первом кортеже с, m — число элементов во втором кортеже q.
Все предыдущие операции не меняли степени или арности отношений — это следует из определения эквивалентности схем отношений. Операция декартова произведения меняет степень результирующего отношения.
Расширенным декартовым произведением отношения R1 степени n со схемой Sri = (A1, А2, .. , An) и отношения R2 степени m со схемой Sr2 = (В1, В2, . , Вm) называется отношение R3 степени n+m со схемой SR3 = (А1, А2,. , An, В1, В2, .., Вm), содержащее кортежи, полученные сцеплением каждого кортежа r отношения R1 с каждым кортежем q отношения R2. То есть если R1 = { r }, R2 = { q }, то R1 Ä R2 = {(r, q) ½r Î R1 Ù q Î R2}.
Очень часто операция расширенного декартова произведения используется для получения некоторого отношения, которое характеризует все возможные комбинации между элементами отдельных множеств. Однако самостоятельного значения результат выполнения операции обычно не имеет, он участвует в дальнейшей обработке. Группа теоретико-множественных операций избыточна, так, например, операцию пересечения можно заменить сочетанием операций объединения и вычитания.
(R1 U R2) \ (R1 \ R2) \ (R2 \ R1).
Однако это достаточно сложная формула, и именно поэтому все три теоретико-множественные операции вошли в базовый набор операций реляционной алгебры.