logo
Работа с базами данных

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

Иерархическая модель БД представляет собой совокупность элементов, расположенных в порядке их подчинения от общего к частному и образующих перевернутое дерево (граф). Данная модель характеризуется такими параметрами, как уровни, узлы, связи. Принцип работы модели таков, что несколько узлов более низкого уровня

где A, B, C, D, E - типы записей (сегменты)

соединяются при помощи связи с одним узлом более высокого уровня.

Узел - информационная модель элемента, находящегося на данном уровне иерархии.

Совокупность корневой записи и множества подчинённых ей записей называется деревом. Число деревьев определяется числом корневых записей. Групповые отношения этой модели не именуются, т.к. определяются парой типов записей. К любой записи существует единственный путь от корня записи. Этот путь называется иерархическим. Каждая запись идентифицируется полным сцепленным ключом, под которым понимают совокупность ключей всех записей от корня вдоль иерархического пути.

Свойства иерархической модели данных:

Несколько узлов низшего уровня связано только с одним узлом высшего уровня.

Иерархическое дерево имеет только одну вершину (корень), не подчиненную никакой другой вершине.

Каждый узел имеет свое имя (идентификатор).

Существует только один путь от корневой записи к более частной записи данных.

Особенности иерархической модели данных

· Данные организованны в иерархической структуре;

· При отображении сетевых структур необходимо дублирование данных и меры по поддержанию семантической целостности;

· Основная единица обработки - запись;

· Обработка начинается с корневой записи, доступ к некорневым записям осуществляется по иерархическому пути.

Иерархическая структура реализуется отношением "один ко многим" между исходной и подчиненной записями, однако для предоставления отношения многих ко многим необходимо дублирование деревьев. При этом сохранение целостности БД ложится на программиста.

Операции над данными:

Извлечь по значению ключа;

Запомнить;

Обновить;

Удалить.