• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
leo130-blogs
博客园    首页    新随笔    联系   管理    订阅  订阅

维度建模-处理大量低频指示字段

维度建模-处理大量低频指示字段

说明

在维度建模的过程中,会遇到某些表,存在大量的指示字段,但是在和业务部门或BI部门确认后,发现这些字段的使用频率较低,为了应对这些指示字段,减小事实表的体积,可以通过建立"退化桥接表"或"稀疏属性桥接表"来实现这一效果。

示例事实表

以下是一个包含代理键、自然键以及4个指示字段的事实表示例:

示例数据

代理键 (ID) 自然键 (Natural_Key) 指示字段1 (Indicator_1) 指示字段2 (Indicator_2) 指示字段3 (Indicator_3) 指示字段4 (Indicator_4)
1 ABC123 TRUE FALSE TRUE FALSE

解决办法

可以通过创建一个桥接表,来汇总这些大量但是低频的指示字段,同时可以将这些被汇总的指示字段的维度表关联到此桥接表。通过该方法,可以大量减少事实表的体积,提高查询效率。

稀疏属性桥接表示例

以下是一个包含指示字段2、3、4的稀疏属性桥接表的表结构示例:

稀疏属性桥接表结构

桥接表键 (Bridge_ID) 代理键 (ID) 属性名称 (Attribute_Name) 属性值 (Attribute_Value)
1 1 Indicator_2 FALSE
2 1 Indicator_3 TRUE
3 1 Indicator_4 FALSE

说明

  1. 桥接表键 (Bridge_ID): 用于唯一标识桥接表中的每一行。
  2. 代理键 (ID): 关联到事实表中的代理键。
  3. 属性名称 (Attribute_Name): 存储指示字段的名称。
  4. 属性值 (Attribute_Value): 存储指示字段的值。

通过这种方式,可以有效减少事实表的宽度,同时保留指示字段的信息。

处理之后事实表

代理键 (ID) 自然键 (Natural_Key) 桥接表代理外键(Brigde_ID_FK) 指示字段1 (Indicator_1)
1 ABC123 1 TRUE
posted @ 2025-04-03 17:40  Sanchez023  阅读(22)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3