· Заполнить– позволяет занести в БД новую запись и автоматически включить эту запись в групповое отношение, где она объявлена подчиненной с автоматическим режимом включения.
· Включить в групповое отношение - позволяет существующую запись связать с записью-владельцем.
· Переключить – дает возможность изменить владельца в том же групповом отношении.
· Обновить – позволяет изменить значение элементов существующей записи. Перед обновлением существующая запись должна быть извлечена из БД.
· ИзвлечьЭта операция имеет несколько модификаций:
последовательное извлечение– если сейчас извлечена запись, то эта операция извлекает следующую запись;
извлечение по ключу – какая бы запись не была извлечена, сейчас команда извлекает запись с заданным ключом;
извлечение с использованием отношений – извлечь подчиненного данной записи или извлечь владельца данной записи.
· Удалить– позволяет убрать из БД ненужную запись, если удаляемая запись владелец, анализируется класс членства подчиненных записей. Обязательные члены должны быть откреплены от этого владельца, фиксированные будут удалены вместе с владельцем, а необязательные останутся в БД.
· Исключить из группового отношения – позволяет разорвать связь между записью владельцем и подчиненной записью, сохраняя обе в БД.
Типичным представителем (наиболее известным и распространенным) является Information Management System (IMS) фирмы IBM. Первая версия появилась в 1968 г. До сих пор поддерживается много таких баз данных, что создает существенные проблемы с переходом, как на новую технологию БД, так и на новую технику.
Структура данных как и в сетевой модели, определяется терминами: элемент, агрегат данных, запись, групповое отношение, база данных.
Иерархическая БД состоит из упорядоченного набора деревьев; более точно, из упорядоченного набора нескольких экземпляров одного типа дерева. Для графического изображения также удобно использовать диаграммы Бахмана. Отличительная черта для иерархических баз данных – ее диаграмма Бахмана будет деревом (рис. 5.1).
Рис. 4.1 Диаграмма Бахмана.
Очевидно, что количество деревьев в БД определяется числом корневых записей. Групповые отношения в иерархической модели не именуются, поскольку они определяются парой типов записей. Владелец именуется исходной записью, а член группового отношения – подчиненной.
К любой записи существует единственный путь от корневой записи. Этот путь называется иерархическим.
Для упорядочивания подчиненных записей в экземплярах групповых отношений могут использоваться разные способы (наиболее часто употребляемый - сортировка по возрастающему значению ключа).
Экземпляры корневых записей должны иметь уникальные значения ключей в рамках группового отношения. Каждой записи можно поставить в соответствие полный сцепленный ключ – совокупность всех ключей от корневой записи до данной. Любую сетевую структуру можно представить иерархической моделью, при этом сетевая структура подвергается преобразованию (рис. 5.2).
Рис. 5.2 Преобразование сетевой модели в иерархическую
Все сведения о жителе, хранящиеся в одной записи «житель», распределены по трем записям. Запись «Пациент» - содержит медицинские сведения, «Работник» - производственные данные. Часть данных обязательно дублируется, на Пример: паспортные данные, такие записи называютпарными. Ответственность за поддержание соответствия между парными записями ложиться на пользователя, модель данных этого не обеспечивает. Для группового отношения в иерархическую модель должен быть включен режим автоматического включения.