我的事实是工单和工单操作,具有各种维度(为简单起见,此处显示 2) - 有些是两者共同的,有些是独特的,例如操作类型仅与工单操作相关,但查看工单操作的工单“父级”的工单类型很有趣。
我使用单独的事实表对数据进行建模,并使用桥接表来允许从工单钻取到操作:
我的问题是:
我需要将所有维度的 PK 添加为 FCT_TicketActions 中的外键并在它们和每个 Dim 表之间创建关系吗?
目前我正在使用 FCT_Tickets 和 DIM_Tickets 之间的双向关系来让 DIM_TicketType/Priority 传播到 FCT_TicketActions,但担心这种歧义会导致措施错误。
很难回答这样的问题,因为我们不了解您的数据的领域知识。然而,DIM_Tickets 和 FCT_Tickets 之间的关系是一对一的,因此您实际上拥有与 FCT_TicketActions 直接相关的 FCT_Tickets,这不是星型模式。两个事实表永远不应该相关,这让我怀疑这可能是标题/详细信息类型的场景。如果是这种情况,那么 Alberto 在这里有一个关于如何建模的精彩视频:https://www.youtube.com/watch?v=R8SaJ__UMHI