НЕКОТОРЫЕ СВОЙСТВА ИЕРАРХИЧЕСКИХ СИСТЕМ

Иерархическая структура реализует отображение N : 1 между порожденным и исходным типами записей. Это отображение полностью функционально, так как дерево не может содержать порожденный узел без исходного узла (за исключением корня). Следовательно, отображения 1:1 и 1 : N могут непосредственно представляться иерархическими структурами. Однако для представления отображения типа М : N необходимо дублирование деревьев. Например, при построении иерархической схемы для связи, показанной на рис. 1(пред.лекция), возможны два варианта, приведенные на рис. 2.

 

 

Рис.2

 

В иерархических СУБД способ реализации операции поиска ориентирован на древовидную структуру. В связи с этим поиск начинается с корня и продолжается в направлении порожденных узлов. Если в конкретной реализации кроме последовательного просмотра всего дерева отсутствует какой-либо способ прямого доступа к конкретному типу записи, то положение узла в дереве имеет важное значение для доступа к нему. В базе данных «поставщики — детали» имеется отображение М : N между типами записей. Если не известен наиболее часто используемый тип записи, то в целях общности и гибкости необходимо при наличии ресурсов памяти хранить оба варианта (рис. 2,б и 2,в). В противном случае должен быть выбран один из вариантов, что может вызвать трудности. Так, в случае 2,б гораздо легче ответить на вопрос о всех поставляемых данным поставщиком деталях, чем на вопрос о всех поставщиках, поставляющих данную деталь (что легко сделать без просмотра всех листьев в случае 2,в). Следовательно, в иерархических СУБД реализация сложных связей требует дублирования данных и/или больших затрат на поиск.

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