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

В иерархической модели данные представлены в виде древовидной (иерархической) структуры (см. Рисунок 1).

Основные понятия модели: атрибут, узел, уровень, групповое отношение.

Атрибут– наименьшая единица структуры данных. Каждому атрибуту при описании базы данных присваивается уникальное имя. По этому имени к нему обращаются при обработке.

Узел– совокупность атрибутов данных, описывающих некоторый объект. На дереве узлы – это вершины графа. Каждый узел на более низком уровне связан только с одним узлом на более высоком уровне. Дерево имеет только одну вершину (корневой узел), не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчиненные) узлы находятся на втором, третьем, … уровнях. Количество деревьев в БД определяется числом корневых узлов.

Групповое отношение – иерархическое отношение между узлами двух типов. Родительский узел (владелец группового отношения) называется исходным, а дочерние узлы (члены группового отношения) – подчиненными.

К каждому узлу базы данных существует только один (иерархический) путь от корневого узла (см. Рисунок 18).

Уровень1
Уровень2
Уровень3
A
B4
B3
B2
B1
C8
C7
C6
C5
C4
C3
C2
C1
B5

Рисунок 18. Иерархическая модель данных

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

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

Например: Школа. Ключи выделены жирным подчеркиванием (см. Рисунок 19).

Школа (номер, адрес, директор)
ул. Гоголя, д.45
Иванова
Ирина Степановна
1 А
Петрова
Валентина
Николаевна
Класс (номер класса, буква класса, классный руководитель, количество учащихся)
2 А
Лебедева
Светлана
Петровна
2 Б
Ковалева
Нина
Евгеньевна
1 Б
Фадеева
Ирина
Алексеевна

Рисунок 19. Пример иерархической модели данных