数据仓库中层次结构桥接表与事实表设计解析
在数据仓库的设计中,层次结构桥接表和不同类型的事实表起着至关重要的作用。下面将详细介绍层次结构桥接表的处理方式、设计变化以及不同类型事实表的特点和用途。
层次结构桥接表的处理与设计
当层次结构中成员关系发生变化时,为每个成员处理类型 2 变更并将新关系添加到桥接表,可避免之前遇到的问题。例如,从公司 H 向上查询时,用户仍使用其自然键约束查询,会获取 H 和 H - 1,但由于这些公司也经历了类型 2 变更,不会在 H 之上添加新事务。只有变更前 H 之上或变更后 H - 1 之上(无)的事实会被计数,与公司 F、E 或 A 的新事务将关联到 F - 1、E - 1 或 A - 1,这些行与公司 H 的任何版本无关联,不会被计数。
时间戳行是桥接表的一种替代方案,但每个查询都需与粒度事实仔细关联限定,即使是训练有素的开发人员编写 SQL 时也可能出错,商业智能工具可能无法生成所需 SQL,查询性能也可能下降,因此变更传播是更安全的解决方案。
层次结构桥接表的设计变化
层次结构桥接表有更多设计选项,包括添加生效和过期日期以及额外标志来表示层次结构的顶部或底部。也可构建不要求每个成员只有一个父节点的桥接表,或在有多个替代层次结构时构建多个桥接表。
- 添加生效和过期日期 :每个层次结构桥接表应包含表示每行生效和过期日期的列,这允许对层次结构进行时间点分析。当桥接表中的一行被新行取代时,旧行的过期日期应设为新行生效日期的前一天。若变更跟踪粒度小于一天,日期戳可补充时间戳。例如,若在
company_hierarchy_b
超级会员免费看
订阅专栏 解锁全文
14

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



