使用事实和单个公共密钥解决多对多关系

问题描述 投票:0回答:1

我们有3个表格,如下所示:1)DimTask2)FactTask3)DimReason顾名思义,DimTask和DimReason是维度,而FactTask是事实表。DimTask表记录任务的详细信息,例如任务的“描述”和“标题”,其中任务仅表示发生了维护/清洁之类的活动。FactTask表记录该任务的度量,例如费用,收费,以分钟为单位的时间。DimReason表记录了为何发生该活动的目的,该活动对于单个任务可能是多个。现在,DimTask和FactTask通过TaskID连接/相关。我们如何处理模型中DimReason的关系。1)我应该创建一个桥接表并将其连接到DimTask吗?2)我可以使用相同的公用密钥“ TaskID”将DimReason连接到FactTask吗?还是不好的设计实践。请帮助。

data-warehouse business-intelligence modeling dimensional-modeling
1个回答
0
投票

没有数据,很难

思想1

看起来像DimReason不是维度,而应该是事实

DimTask :: TaskID> FactTask :: TaskID ...您的注释以订单标题形式显示,FactOrderHeader类型

[DimTask :: TaskID> FactReason(您称为DimReason):: TaskID ......它们以注释的方式表示订单详细信息,FactOrderDetails类型]

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

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

希望这会有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.