Перейти к основному содержимому Перейти к дополнительному содержимому

Загрузка данных иерархии

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

Такие типы иерархий, как правило, хранятся в таблицах смежных узлов, т. е. в таблицах, в которых каждая запись соответствует узлу и имеет поле, содержащее ссылку на родительский узел.

Таблица узлов
NodeID ParentNodeID Title
1 - General manager
2 1 Region manager
3 2 Branch manager
4 3 Department manager

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

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

Пример:  

Hierarchy (NodeID, ParentNodeID, Title, 'Manager') LOAD NodeID, ParentNodeID, Title FROM 'lib://data/hierarchy.txt' (txt, codepage is 1252, embedded labels, delimiter is ',', msq);
Таблица расширенных узлов
NodeID ParentNodeID Title Title1 Title2 Title4 Title4
1 - General manager General manager - - -
2 1 Region manager General manager Region manager - -
3 2 Branch manager General manager Region manager Branch manager -
4 3 Department manager General manager Region manager Branch manager Department manager

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

Таблица предков содержит одну запись для каждой связи дочерний-родительский элемент в данных. Она содержит ключи и имена дочерних и родительских элементов. Таким образом, каждая запись указывает узел, к которому принадлежит определенный узел. Ключевое слово hierarchybelongsto может использоваться в скрипте загрузки данных для преобразования таблицы смежных узлов в таблицу предков.

Подробнее

 

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!