Иерархическая модель хранения данных
В повседневной жизни мы часто имеем дело с иерархическими структурами. Поэтому нетрудно уяснить, что же представляет собой иерархия. Пример 1. В каждой организации есть руководители и подчиненные. В зависимости от положения сотрудника на иерархической лестнице изменяется и круг его обязанностей. Пример 2. Рассмотрим генеалогическое древо. Родители могут иметь одного или нескольких детей, либо вовсе их не иметь. Дети в свою очередь в будущем также могут иметь детей. Генеалогическое древо можно рассматривать как иерархическую структуру. Графическим способом представления иерархической структуры является дерево (от привычного нам дерева оно отличается только тем, что перевернуто, т.е. корень находится наверху, а ветви растут вниз.). Дерево представляет собой иерархию элементов, называемых узлами. Под элементами понимается список (совокупность, набор) атрибутов, описывающих объекты (сущности). При этом каждый узел может иметь только одного предка. Исходный узел, из которого строится дерево, называется корневым узлом или просто корнем, причем одно дерево может иметь только один корень (см. рис. 3), например, руководитель фирмы. Зависимые узлы располагаются на более низких уровнях дерева. Уровень, на котором находится данный узел, определяется расстоянием от корневого узла.
Рис.3. Поиск данных в иерархической системе всегда начинается с корня. Затем производится спуск с одного уровня дерева на другой, пока не будет достигнут искомый уровень. Перемещения по системе от одной записи к другой осуществляются с помощью ссылок. Иерархическая модель данных была исторически первой. На ее основе в конце 60-х — начале 70-х годов были разработаны первые профессиональные СУБД. Примеры реализации: ADABAS, АСПИД. Основное внимание в ограничениях целостности в иерархической модели уделяется целостности ссылок между предками и потомками с учетом основного правила: никакой потомок не может существовать без родителя.
|