Найти тему

Иерархическая модель

В иерархической модели связи между данными можно описать с помо­щью упорядоченного графа (или дерева). Упрощенно представление свя­зей между данными в иерархической модели показано на рис. 2.1.

Рис.2.1. Представление связей в иерархической модели
Рис.2.1. Представление связей в иерархической модели

Для описания структуры (схемы) иерархической БД на некотором язы­ке программирования используется тип данных «дерево».

Тип «дерево» схож с типами данных «структура» языков программиро­вания ПЛ/1 и С и «запись» языка Паскаль. В них допускается вложенность типов, каждый из которых находится на некотором уровне.

Тип «дерево» является составным. Он включает в себя подтипы («подде­ревья»), каждый из которых, в свою очередь, является типом «дерево». Каж­дый из типов «дерево» состоит из одного «корневого» типа и упорядочен­ного набора (возможно, пустого) подчиненных типов. Каждый из элементарных типов, включенных в тип «дерево», является простым или составным типом «запись». Простая «запись» состоит из одного типа, на­пример числового, а составная «запись» объединяет некоторую совокуп­ность типов, например целое, строку символов и указатель (ссылку). При­мер типа «дерево» как совокупности типов показан на рис. 2.2.

Рис. 2.2. Пример типа «дерево»
Рис. 2.2. Пример типа «дерево»

Корневым называется тип, который имеет подчиненные типы и сам не является подтипом. Подчиненный тип (подтип) является потомком по отно­шению к типу, который выступает для него в роли предка (родителя). Потом­ки одного и того же типа являются близнецами по отношению друг к другу.

В целом тип «дерево» представляет собой иерархически организован­ный набор типов «запись».

Иерархическая БД представляет собой упорядоченную совокупность экземпляров данных типа «дерево» (деревьев), содержащих экземпляры типа «запись» (записи). Часто отношения родства между типами перено­сят на отношения между самими записями. Поля записей хранят собствен­но числовые или символьные значения, составляющие основное содер­жание БД. Обход всех элементов иерархической БД обычно производится сверху вниз и слева направо.

В иерархических СУБД может использоваться терминология, отличаю­щаяся от приведенной. Так, в системе IMS понятию «запись» соответствует термин «сегмент», а под «записью БД» понимается вся совокупность запи­сей, относящаяся к одному экземпляру типа «дерево».

Данные в базе с приведенной схемой (рис. 2.2) могут выглядеть, напри­мер, как показано на рис. 2.3.

Рис. 2.3. Данные в иерархической базе
Рис. 2.3. Данные в иерархической базе

Для организации физического размещения иерархических данных в па­мяти ЭВМ могут использоваться следующие группы методов:

• представление линейным списком с последовательным распределени­ем памяти (адресная арифметика, левосписковые структуры);

•представление связными линейными списками (методы, использую­щие указатели и справочники).

К основным операциям манипулирования иерархически организован­ными данными относятся следующие:

• поиск указанного экземпляра БД (например, дерева со значением 10 в поле Отд_номер);

• переход от одного дерева к другому;

• переход от одной записи к другой внутри дерева (например, к следую­щей записи типа Сотрудники);

• вставка новой записи в указанную позицию;

• удаление текущей записи и т. д.

В соответствии с определением типа «дерево», можно заключить, что между предками и потомками автоматически поддерживается контроль целостности связей. Основное правило контроля целостности форму­лируется следующим образом: потомок не может существовать без ро­дителя, а у некоторых родителей может не быть потомков. Механизмы поддержания целостности связей между записями различных деревь­ев отсутствуют.

К достоинствам иерархической модели данных относятся эффективное использование памяти ЭВМ и неплохие показатели времени выполнения основных операций над данными. Иерархическая модель данных удобна для работы с иерархически упорядоченной информацией.

Недостатком иерархической модели является ее громоздкость для обра­ботки информации с достаточно сложными логическими связями, а также сложность понимания для обычного пользователя.

На иерархической модели данных основано сравнительно ограничен­ное количество СУБД, в числе которых можно назвать зарубежные системы IMS, PC/Focus, Team-Up и Data Edge, а также отечественные системы Ока, ИНЭС и МИРИС.

Наука
7 млн интересуются