数据层级建模与零售采购案例分析
1. 层级表结构与属性
在数据处理中,存在一种特定的表结构,其各列具有不同的用途,具体如下表所示:
| COLUMN | USAGE |
| ---- | ---- |
| Level | 表示父实体在层级中的级别,值为 1 代表顶级或根节点,在报告中可用于缩进描述。 |
| Distance | 父实体与子实体之间的层级数,值为 1 表示直接后代,值为 0 表示标识行,此时父和子外键值相同。 |
| Bottom | 布尔值,若为 true,子实体是叶子节点,处于层级底部。 |
| Sequence | 用于对结果集排序,以生成正确排序的层级报告。 |
| Eff Dt | 关系的生效日期。 |
| Exp Dt | 关系的过期日期。 |
这种结构与之前提到的桥接结构类似,区别在于它包含了所有层级的子引用,而之前的桥接结构仅存储最低层级的子节点。当应用用途未知或可能变化时,存储完整信息虽然会使表更大,但能应对各种情况,且该结构仍然较为紧凑实用。表中的额外属性有助于在报告中体现数据的层级性质,如级别和与父节点的距离在遍历和展开树的过程中得出,序列号可通过排序遍历生成,若要维护历史记录,每个关系的生效和过期日期也在展开过程中确定。
2. 历史记录维护
引入时间敏感性会使递归树和展开树结构的更新与遍历变得复杂。
2.1 更新递归树
递归树结构中,任意时间点的父子关系都是唯一的,表的主键是父和子外键的组合。若结构对日期敏感,生效日期会成为主键的一部分。在典型的数据仓库环境中,维护这些日期颇具挑战,因为源操作系
超级会员免费看
订阅专栏 解锁全文
14

被折叠的 条评论
为什么被折叠?



