3.2. Иерархические системы
Типичным представителем
(наиболее известным и
распространенным) является Information
Management System (IMS) фирмы IBM. Первая версия
появилась в 1968 г. До сих пор
поддерживается много баз данных,
что создает существенные проблемы
с переходом как на новую технологию
БД, так и на новую технику.
Иерархическая БД состоит из
упорядоченного набора деревьев;
более точно, из упорядоченного
набора нескольких экземпляров
одного типа дерева.
Тип дерева состоит из одного
"корневого" типа записи и
упорядоченного набора из нуля или
более типов поддеревьев (каждое из
которых является некоторым типом
дерева). Тип дерева в целом
представляет собой иерархически
организованный набор типов записи.
Пример типа дерева (схемы
иерархической БД):
Здесь Отдел является предком
для Начальник и Сотрудники, а
Начальник и Сотрудники - потомки
Отдел. Между типами записи
поддерживаются связи.
База данных с такой схемой могла
бы выглядеть следующим образом (мы
показываем один экземпляр дерева):
Все экземпляры данного типа
потомка с общим экземпляром типа
предка называются близнецами. Для
БД определен полный порядок обхода
- сверху-вниз, слева-направо.
В IMS использовалась оригинальная
и нестандартная терминология:
"сегмент" вместо "запись",
а под "записью БД" понималось
все дерево сегментов.
Примерами типичных операторов
манипулирования иерархически
организованными данными могут быть
следующие:
- Найти указанное дерево БД
(например, отдел 310);
- Перейти от одного дерева к
другому;
- Перейти от одной записи к
другой внутри дерева (например,
от отдела - к первому
сотруднику);
- Перейти от одной записи к
другой в порядке обхода
иерархии;
- Вставить новую запись в
указанную позицию;
- Удалить текущую запись.
Автоматически поддерживается
целостность ссылок между предками
и потомками. Основное правило:
никакой потомок не может
существовать без своего родителя.
Заметим, что аналогичное
поддержание целостности по ссылкам
между записями, не входящими в одну
иерархию, не поддерживается
(примером такой "внешней"
ссылки может быть содержимое поля
Каф_Номер в экземпляре типа записи
Куратор).
В иерархических системах
поддерживалась некоторая форма
представлений БД на основе
ограничения иерархии. Примером
представления приведенной выше БД
может быть иерархия
Предыдущая
глава || Оглавление
|| Следующая глава
|