加载层次结构数据

此外,不平衡的 n 级层次结构通常用于呈现数据中的地理维度或组织维度。通常,这些层次结构类型存储在相邻节点表格,即在一个表格中,其中每一条记录对应一个节点并具有包含父节点引用的字段。

节点表
NodeID ParentNodeID 标题
1 - 总经理
2 1 地区经理
3 2 分公司经理
4 3 部门经理

此类表格内的节点存储在一个记录上,但其仍拥有数量任意的子节点。表格可能包含更多描述节点属性的字段。

相邻节点表格可用于维护,但在日常工作中很难使用。相反,在查询和分析中会使用其他呈现形式。扩展节点表格是一种常见的呈现形式,其中的所有层次结构级别均存储于单独的字段内。扩展节点表格层级可轻松用于(例如)树形结构。hierarchy 关键字可用于数据加载脚本,以将相邻节点表格转换为扩展节点表格。

Example:  

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 标题 Title1 Title2 Title4 Title4
1 - 总经理 总经理 - - -
2 1 地区经理 总经理 地区经理 - -
3 2 分公司经理 总经理 地区经理 分公司经理 -
4 3 部门经理 总经理 地区经理 分公司经理 部门经理

扩展节点表格有一个问题,就是很难将级别字段用于搜索或选择,因为需要预备哪些级别需要搜索或选择的相关知识。上级表格是解决此问题的不同呈现形式。这种呈现形式又被称之为桥接表格。

上级表格包含一条记录,其用于显示数据中的层次结构上下级关系。此表格包含子节点以及上级节点的关键字段和名称。即每条记录均描述特定节点属于哪些节点。hierarchybelongsto 关键字可用于数据加载脚本,以将相邻节点表格转换为上级表格。

See also: