【问题标题】:Resolving Many-To-Many relationship using Fact and single common key使用 Fact 和单个公共键解决多对多关系
【发布时间】:2020-04-16 14:31:50
【问题描述】:

我们有如下 3 个表格:

  1. 暗淡任务
  2. 事实任务
  3. 暗淡原因

顾名思义,DimTask 和 DimReason 是维度,FactTask 是事实表。

DimTask 表记录任务的详细信息,例如任务的“描述”和“标题”,其中任务仅表示发生的活动,例如维护/清洁。 FactTask 表记录了该任务的度量,例如费用、收费、以分钟为单位的时间。 DimReason 表记录了该活动发生的原因,单个任务可能有多个。

现在,DimTask 和 FactTask 通过 TaskID 连接/关联。 我们如何处理模型中 DimReason 的关系。

  1. 我应该创建一个桥表并将其连接到 DimTask 吗?
  2. 我可以使用相同的公共密钥“TaskID”将 DimReason 连接到 FactTask 吗?或者这是一种糟糕的设计实践。

请帮忙。

【问题讨论】:

  • 如果有帮助我可以提供一些数据

标签: data-warehouse business-intelligence modeling dimensional-modeling


【解决方案1】:

没有数据,很难

想法1

看起来 DimReason 不是维度,而应该是 Fact

DimTask::TaskID > FactTask::TaskID ... 您的 cmets 作为订单标题的方式,FactOrderHeader 类型

DimTask::TaskID > FactReason(You call as DimReason)::TaskID ...他们的方式你的 cmets 说是 Order details, FactOrderDetails type

注意:有时限的活动通常是事实(有例外)

思想2 多值维度:https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/multivalued-dimension-bridge-table/

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 2014-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多