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

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

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

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

Таблица узлов
NodeIDParentNodeIDНазвание
1-General manager
21Region manager
32Branch manager
43Department 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);
Таблица расширенных узлов
NodeIDParentNodeIDНазваниеTitle1Title2Title4Title4
1-General managerGeneral manager---
21Region managerGeneral managerRegion manager--
32Branch managerGeneral managerRegion managerBranch manager-
43Department managerGeneral managerRegion managerBranch managerDepartment manager

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

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

Подробнее

 

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

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