是一个将维度链接到事实表,事实维度的表吗?

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

在我对BI表的不完整视图中,Fact表表示操作,维表示实体。

我有一个包含订单信息的FactOrder表(包括OrderId和CustomerId)。对于实际连接到订单但不是客户的人来说,有一个单独的维度。所以他们被保存在一个名为DimServiceUser的单独表中。连接表将Order连接到ServiceUser。这个中间OrderServeruser表是应该定义为Dimension,Fact还是其他类型?

data-warehouse business-intelligence
3个回答
2
投票

它真的更像是一个桥牌桌。这是正在发生的事情。

FactOrder表是一个事实表,但它也包含一个degenerate dimension。简并维度充当事实表中的维度键,但不会连接到相应的维度表,因为其所有有趣的属性都已放置在其他分析维度中。所以你在那里有一个隐含的DimOrder,不需要单独的表。

bridge table可以将一组值连接到单个事实表行,也可以连接两个维度(例如客户和银行帐户)。这是一种处理合法的多对多关系的方式。桥牌桌是like a factless fact table。但是在维度建模中,我们不将事实表连接在一起,而将桥表和事实表连接在一起是可以接受的。如果必须强制将桥表作为事实或维度,则它更接近事实表。但这样做可能会使将来更容易实现糟糕的建模习惯。如果你可以把它称为桥梁,我会选择那样做。 (确保你在“像一个无事实的事实表”上读到第三个链接。它是由Star Schema的作者写的:完整参考。这是一个非常被接受的来源。)


1
投票

由于OrderService不包含任何事实/度量,因此您不能将其称为事实表。

维度表:维度表包含事实的维度。它们通过外键连接到事实表。维度表是非规范化表。维度属性是维度表中的各个列维度通过其属性提供事实的描述性特征没有为维度数量指定的集合限制集合维度还可以包含一个或多个层次关系

基于维度表的上述定义,我相信你的表应该被称为维度表。


-1
投票

OrderServeruser表应该是“bridge”的前缀。

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