- •2. Реляционная модель данных
- •2.1. Определения и понятия
- •2.2. Первичные ключи и индексы
- •2.3. Реляционные отношения между таблицами
- •2.3.1. Отношение один-ко-многим
- •2.3.2. Отношение один-к-одному
- •2.3.3. Отношение многие-ко-многим
- •2.3.4. Связи между записями одной таблицы
- •2.4. Ссылочная целостность
- •2.5. Индексы
- •Упражнения и задачи
- •3. Нормализация отношений
- •3.1. Первая нормальная форма
- •3.2. Функциональные зависимости и детерминанты
- •3.3. Вторая нормальная форма
- •3.4. Третья нормальная форма
- •3.5. Нормальная форма Бойса-Кодда (нфбк)
- •3.6. Нормализация за и против
- •Контрольные вопросы
- •Упражнения и задачи
- •4. Операции с данными в реляционной модели
- •4.1. Объединение
- •4.2. Пересечение
- •4.3. Вычитание
- •4.4. Декартово произведение
- •4.5. Выбор
- •4.6. Проекция
- •4.7. Соединение
- •4.8. Деление
- •Упражнения и задачи
- •5. Запросы к бд
- •5.1. Простые запросы
- •5.2. Многотабличные запросы
- •5.3. Подзапросы
- •6. Сетевая модель данных
- •6.1. Исторический контекст
- •6.2. Основные понятия и определения
- •Торговый-агент
- •Строка-элемент
- •6.3. Преимущества и недостатки сетевых моделей
- •Упражнения и задачи
- •7. Иерархическая модель данных
- •7.1. Основные понятия и определения
- •7.2. Преимущества и недостатки иерархических моделей
- •Упражнения и задачи
- •Часть 2. Управление окружением базы данных
- •1. Администрирование баз данных
- •1.1. Функции абд
- •1.1.1. Работа с пользователями
- •1.1.2. Установление стандартов и процедур
- •1.2. Задачи абд
- •2. Защита базы данных
- •2.1. Идентификация пользователя
- •2.2. Проверка полномочий и представления данных
- •2.3. Шифровка
- •Метод поалфавитной подстановки
- •2.4. Секретность данных
- •4. Целостность данных
- •4.1. Контроль типов
- •4.2. Контроль изменений
- •4.3. Целостность на уровне ссылок
- •5. Параллельная работа с бд
- •5.1. Обработка транзакций
- •5.2. Параллельная работа с бд
- •Литература
6.3. Преимущества и недостатки сетевых моделей
Достоинством сетевых моделей является отсутствие дублирования данных в различных элементах модели. Кроме того, технология работы с сетевыми моделями является удобной для пользователя, так как доступ к данным практически не имеет ограничений и возможен непосредственно к объекту любого уровня. Недостатки сетевой модели, в основном, связаны со слабыми возможностями адаптации к изменяющимся требованиям и выполнения разовых запросов. Кроме того, для таких моделей характерна сложность реализации СУБД.
Упражнения и задачи
Базу данных, спроектированную в упражнении раздела 3, преобразуйте в виде сетевой модели.
7. Иерархическая модель данных
7.1. Основные понятия и определения
Иерархическая модель данных является частным случаем сетевой модели данных. Как уже описывалось в предыдущей главе, сеть - это направленный граф, который состоит из точек, соединенных стрелками. Точки - это типы записей, а стрелки – это отношение один-к-одному или один – ко-многим. Стрелка в сети имеет по точке с каждого конца. Точка в «хвосте» стрелки в иерархической модели называется предком, а точка на острие стрелки называетсяпотомком.Разница между сетевой и иерархической моделями состоит в том, что в сетевой модели потомок может принадлежать нескольким предкам, а в иерархической модели - только одному.
Дереводанных - это иерархия сегментов, удовлетворяющих следующим правилам:
1. Существует единственный сегмент верхнего уровня, который назывантся корнем.Корневой сегмент не входит в качестве потомка ни в один тип ОПП.
2. За исключением корневого сегмента, каждый сегмент входит в качестве потомка ровно в один тип ОПП.
3. Сегмент может быть в качестве предка в нескольких типах ОПП (например, СЛУЖАЩИЙ на рис.6.1).
4. Сегмент-предок обладает произвольным количеством потомков, но каждый сегмент-потомок обладает только одним сегментом-предком. Это означает, что отношения между предком и потомком в дереве один-ко-многим.
5. Сегмент, у которого нет потомка, называется листовым сегментом.
6. Для любого типа сегмента А существует единственный путь в дереве от корня до А. Записи этого пути называются предшественниками.А -зависимый сегмент всех сегментов пути, включая корень.
7. Сегмент А сам может быть корнем поддерева.
Вхождения одного и того же типа сегмента, который имеет одного и того же предка, называются близнецами.
В иерархической модели данных существует такой термин, как сбалансированное дерево- это такое дерево, у которого все пути от корневого сегмента до листовых имеют одну и ту же длину.
Рис.6.1 является примером трехуровневого дерева. В данном случае дерево состоит из типов сегментов ОТДЕЛ, СЛУЖАЩИЙ, СПЕЦИАЛЬНОСТЬ, НАЗНАЧЕН НА и их отношений.
ОТДЕЛ
НАЗВАНИЕ
НАЧАЛЬНИК ОТДЕЛА
СЛУЖАЩИЙ
ИМЯ
ТАБЕЛЬНЫЙ СЛУЖАЩЕГО
НОМЕР
СПЕЦИАЛЬНОСТЬ НАЗНАЧЕН
НА
НАЗВАНИЕ
РАЗДЕЛ ПРОЕКТА КОД
НАЗВАНИЕ СПЕЦ
СПЕЦ.
Рис.7.1. Иерархическая организация типов сегментов
базы данных отдела