- •Белорусский государственный университет модели данных и субд Учебное пособие
- •Введение
- •Раздел 5 посвящен семантическим или инфологическим моделям, используемым в современных программных системах поддержки проектирования, называемых case-системами (Computer Aided Software Engineering).
- •Раздел 10 посвящен вопросам распределенной обработки данных, здесь рассматриваются проектирование распределенных систем обработки данных, уделяется большое внимание фрагментации данных.
- •1. Основные понятия и определения теории баз данных.
- •1.1. Причины возникновения систем баз данных.
- •1.3. Системы управления базами данных.
- •2. Классификация моделей данных.
- •2.1. Моделирование данных.
- •2.2. Иерархическая модель.
- •2.3. Сетевая модель.
- •2.4. Реляционная модель.
- •2.5. Объектно-ориентированная модель.
- •2.6. Объектно-реляционная модель.
- •2.7. Многомерная модель.
- •3. Реляционная алгебра и реляционное исчисление.
- •3.1. Реляционная алгебра.
- •3.2. Реляционное исчисление.
- •4. Проектирование реляционных баз данных на основе нормализации.
- •4.1. Нормализация отношений, цели нормализации.
- •4.2. Структура функциональных зависимостей.
- •4.2.1. Функциональные зависимости и их свойства.
- •4.2.2. Ключи схем отношений.
- •4.2.3. Полные и неполные функциональные зависимости.
- •4.2.4. Покрытие множеств зависимостей.
- •4.2.5. Декомпозиция схем отношений.
- •4.2.6. Декомпозиции, сохраняющие зависимости.
- •4.3 Нормальные формы отношений.
- •4.3.1. Первая и вторая нормальные формы схем отношений.
- •4.3.2. Третья нормальная форма схем отношений.
- •4.3.4. Четвертая нормальная форма схем отношений.
- •4.3.5. Пятая нормальная форма схем отношений.
- •5. Семантическое моделирование
- •5.1. Цели и средства семантического моделирования.
- •5.2. Метод “сущность-связь”.
- •5.3. Этапы моделирования.
- •5.4. Правила формирования отношений.
- •Формирование отношений для связи 1:1.
- •Формирование отношений для связи 1:м.
- •6. Структура субд и основные функции.
- •6.1. Типовая организация современной субд.
- •6.2. Поддержка языков бд.
- •6.3. Управление данными во внешней памяти.
- •6.4. Управление буферами оперативной памяти.
- •6.5. Управление транзакциями.
- •6.6. Журнализация и восстановление после сбоев.
- •7. Управление транзакциями.
- •7.1. Свойства транзакций. Проблемы параллельного выполнения.
- •7.2. Консервативные методы управления транзакциями.
- •7.2.1. Метод блокировки.
- •7.2.2. Метод временных отметок.
- •7.3. Оптимистические методы управления транзакциями.
- •7.4. Уровень детализации блокируемых элементов данных.
- •8. Восстановление базы данных после сбоев.
- •8.1. Основные принципы и функции восстановления.
- •8.3. Создание контрольных точек.
- •8.4. Методы восстановления.
- •9. Защита баз данных.
- •9.1. Основные понятия.
- •9.2. Компьютерные средства защиты.
- •9.3. Некомпьютерные средства защиты.
- •10. Распределенные базы данных
- •10.1. Основные концепции.
- •10.2. Функции распределенных субд.
- •10.3. Разработка распределенных реляционных баз данных.
- •10.4. Распределение данных.
- •10.5. Фрагментация.
- •10. 6. Обеспечение прозрачности в рсубд.
- •11. Введение в субд oracle.
- •11.1. Характеристика субд Oracle.
- •11.2. Объекты базы данных Oracle.
- •11.4. Архитектура базы данных Oracle.
- •11.5. Архитектура экземпляра базы данных Oracle.
- •11.6. Формирование базы данных и экземпляра Oracle.
- •12. Основы языка sql.
- •12.1. Алфавит и лексемы языка sql.
- •12.2. Типы данных языка sql.
- •12.3. Операторы языка sql.
- •12.4. Операции языка sql.
- •12.5. Функции языка sql.
- •12.6. Создание, модификация и удаление таблиц.
- •12.7. Выбор информации из базы данных.
- •13. Основы языка pl/sql.
- •13.1. Алфавит и лексемы языка.
- •13.3. Типы данных и объявление переменных.
- •13.4. Операторы.
- •13.5. Курсоры.
- •13.6. Обработка исключительных ситуаций.
- •13.7. Триггеры базы данных.
- •13.8. Хранимые процедуры и функции.
- •13.9. Пакеты.
- •13.10. Объекты.
- •Литература
2.2. Иерархическая модель.
Основополагающей логической структурой для данной модели является ориентированное дерево с корнем. Вершины дерева соответствуют интересующим нас объектам, а дуги – связям между объектами. Все вершины дерева, за исключением корня, должны иметь предка. Между двумя вершинами может быть только одна связь. Связи вершины с непосредственно подчиненными вершинами должны иметь определенное упорядочение, как правило, слева направо. Основными типами данных являются тип запись и тип дерево. Тип дерево состоит из одного корневого типа записи и упорядоченного набора из нуля или более подчиненных типов записей, каждый из которых в свою очередь может иметь нуль или больше подчиненных типов записей. Каждая вершина дерева может быть представлена в виде некоторой записи, или упорядоченного набора записей, а каждая дуга – встроенным в запись указателем (адресом). Иерархическая база данных представляет собой упорядоченную совокупность экземпляров данных типа дерево.
Основными операциями манипулирования данными в иерархической модели являются: поиск указанного экземпляра типа дерево; переход от одного дерева к другому; переход от одной записи к другой внутри дерева; вставка новой записи в указанную позицию; удаление текущей записи и так далее. Используются два метода доступа к записям внутри дерева. Прямой порядок обхода начинается с корня с последующей обработкой всего дерева в порядке слева направо. Обратный порядок обхода начинается с левой висячей вершины с постепенным переходом от одного поддерева к другому слева направо с завершением обработки в корне.
Иерархическая модель поддерживает связи “один к одному” и “один ко многим”. Возможна организация связи “многие ко многим” за счет дублирования данных. Основное ограничение целостности заключается в том, что потомок не может существовать без родителя. Поэтому при удалении родительской записи удаляется все определяемое ею поддерево.
К достоинствам иерархической модели относятся эффективное использование памяти ЭВМ, неплохие показатели времени выполнения основных операций над данными, удобство работы с иерархически упорядоченной информацией.
Недостатками иерархической модели являются невозможность хранения экземпляров записей, не имеющих родительских записей, трудность реализации связей “многие ко многим” и других более сложных иерархических связей.
2.3. Сетевая модель.
Сетевой подход организации данных является расширением иерархического. В иерархической модели запись-потомок должна иметь в точности одного предка; в сетевой модели запись-потомок может иметь любое число предков. Для реализации иерархической структуры используются две группы типов – тип записи и тип набора. Тип набора устанавливает именованную связь для записи-предка и одной или нескольких записей-потомков, то есть поддерживает связь “один к одному” и “один ко многим”. Для организации связи “многие ко многим” образуются две связи “один ко многим”, объединенные в единый связующий тип записи. При этом должны выполняться следующие ограничения:
только один тип записи может быть предком в каждом наборе, но один и тот же тип записи может быть предком в нескольких различных типах наборов;
один или больше типов записей могут быть членами одного и того же типа набора;
тип записи может входить в несколько типов наборов;
тип записи может быть предком в одних типах наборов и членом в других типах наборов;
между любыми двумя типами записей может быть определено любое количество типов набора;
типы набора могут быть определены так, что в результате они образуют циклическую структуру;
запись необязательно должна быть членом двух экземпляров одного и того же типа набора;
тип записи необязательно должен быть членом какого-либо типа набора.
Основными операциями при манипулировании данными в сетевой модели являются: поиск записи; создание новой записи; удаление записи; модификация записи; переход от предка к первому потомку; переход от потомка к следующему потомку; переход от потомка к предку; включение записи в набор; исключение записи из набора; перестановка записи в другой набор.
Доступ к типам записей осуществляется путем “перемещения” по структуре и зависит от метода реализации наборов – с помощью цепочек указателей или массивов указателей. Целостность в сетевой модели поддерживается с помощью типов набора. Если записи включены в набор, то удаление записи-предка набора приводит к удалению всего набора и каскадному удалению последующих наборов. Если записи-потомки не входят в набор, удаление записи-предка эквивалентно удалению связи.
К достоинствам сетевой модели относится возможность установления произвольных связей между записями. Недостатком сетевой модели является высокая сложность схемы базы данных.
Сложность сетевых и иерархических моделей объясняется тем, что они построены с использование внутренних физических указателей, связывающих записи между собой.
