Иерархическая модель данных
Иерархическая модель организует данные в виде древовидной структуры.
К основным понятиям иерархической структуры относятся: уровни элемент (узел), связь. Дерево представляет собой иерархию элементов называемых узлами. Узел - это совокупность атрибутов данных, описывающих некоторый объект. На самом верхнем уровне иерархии имеется один и только один узел - корень. Каждый узел, кроме корня, связан с одним узлом на более ( высоком уровне, называемым исходным для данного узла. Ни один элементов не имеет более одного исходного узла. Каждый элемент может быть связан с одним или несколькими элементами на более низком уровне. Они называются порожденными (рис 1.6).
К каждой записи базы данных существует только один (иерархический) путь от корневой записи. Например, как видно из рис. 1.6, для записи С4 путь проходит через записи А и ВЗ.
Иерархическая модель данных имеет много общих черт с сетевой моделью данных, хронологически она появилась даже раньше, чем сетевая. Допустимыми информационными конструкциями в иерархической модели данных являются отношение, веерное отношение и иерархическая база данных. В отличие от ранее рассмотренных моделей данных, где предполагалось, что информационным отображением одной предметной области является одна база данных, в иерархической модели данных допускается отображение одной предметной области в несколько иерархических баз данных.
Понятия отношения и веерного отношения в иерархической модели данных не изменяются.
Иерархической базой данных называется множество отношений и веерных отношений, для которых соблюдаются два ограничения:
1. Существует единственное отношение, называемое корневым, которое не является зависимым ни в одном веерном отношении.
2. Все остальные отношения (за исключением корневого) являются зависимыми отношениями только в одном веерном отношении.
Схема иерархической БД по составу компонентов идентична сетевой базе данных. Названные выше ограничения поддерживаются иерархическими СУБД.
На рис. 2.5 изображена структура иерархической базы данных о студентах и преподавателях вуза, удовлетворяющая всем ограничениям, указанным в определении.
В графических иллюстрациях структуры приводятся ключи соответствующих отношений.
Если понадобится в рамках данной иерархической структуры указать для групп, выполняющих дипломное проектирование, связь с соответствующей выпускающей кафедрой, то установить веерное отношение Р(Кафедра, Группа) невозможно, так как Группа не может быть зависимым отношением дважды (она уже является зависимой для отношения Факультет). Зафиксировать связь студенческих групп с выпускающей кафедрой можно путем выделения соответствующих групп в отдельное отношение с ключом В - группа, что приводит к появлению избыточной информации.
Ограничение, которое поддерживается в иерархической модели данных, состоит в невозможности нарушения требований, фигурирующих в определении иерархической базы данных. Это ограничение обеспечивается специальной укладкой значений отношений в памяти ЭВМ. Ниже мы рассмотрим одну из простейших реализации укладки иерархической БД.
На рис. 2.6 приводится связь значений отношений из иерархической базы данных, структура которой показана на рис. 2.5,а. Каждое значение представляется соответствующей величиной первичного ключа.
Далее эта информация организуется в линейную последовательность значений, как это показано на рис. 2.6,6.
Необходимо отметить, что существуют различные возможности прохождения иерархически организованных значений в линейной последовательности. Принцип, применяемый для иерархических баз данных, называется концевым прохождением.