3.1. Структуры данных

Основными структурами данных являются записи и наборы.
Запись - это структура данных, состоящая из нуля или более единиц данных, называемых атрибутами. Атрибут может быть элементарным или периодической группой (может иметь в каждой записи от нуля и более реализаций). Записи, имеющие одинаковый набор атрибутов, абстрагируются в тип записей, который имеет уникальное имя.
Набор -это структура данных, которая отображает связи меду объектами в предметной области. Каждый набор содержит единственную запись, называемую владельцем набора, и множество записей, называемых членами набора. Наборы, имеющие одинаковый тип владельца и одинаковый тип члена, а также обладающие одинаковой семантикой (смыслом), объединяются в тип набора, который имеет уникальное имя.
                                                      3.1.1. Структуры данных в иерархической модели
В иерархической модели вводится понятие корневой записи, как записи, не входящей ни в один набор. Корневые записи могут быть только одного типа. Каждая запись может быть либо корневой, либо быть членом одного набора.
Если поставить каждому типу записей в соответствие вершину графа, а типы наборов изобразить дугами, то мы получим граф, являющийся деревом (по¬дробнее см. [29]). Этот граф иногда называют диаграммой Бахмана (рис. 8).

                                                                     

Рис. 8. Диаграмма Бахмана (пример для иерархической модели)

Диаграмма Бахмана фактически является графом типов БД. Любопытно, что граф знаков (каждой вершине соответствует конкретная запись, а дуге - конкретный набор) является лесом, т.е. графом, каждая компонента связности которого является деревом (рис. 9).
Корневая запись каждого дерева обязательно должна содержать ключ с уникальным значением. Ключи некорневых записей должны иметь уникальное значение только в рамках группового отношения. Таким образом, каждая запись идентифицируется полным сцепленным ключом, под которым понимается совокупность ключей всех записей от корневой по иерархическому пути.
Очевидное неудобство иерархической модели состоит в том, что если объект описывается одной записью, он может быть членом только двух связей (в терминах ER-модели), при этом его максимальное кардинальное число в одной связей должно быть равно 1. Поскольку реально число существенных (подлежащих описанию) связей, как правило, велико, то ограничения иерархической модели неизбежно приведут к многократному дублированию информации

                                          

Рис. 9. Пример графа знаков для иерархической модели