Table 将维度链接到事实 table 是事实的维度吗?

Is A Table Linking a Dimension to a Fact table, a Dimension of a Fact?

在我对 BI table 的不完整看法中,事实 table 表示操作,维度表示实体。

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

由于 OrderService 不包含任何 facts/measurements,因此您不能将其称为事实 table。

维度table: 维度 table 包含事实的维度。 它们通过外键连接到事实 table。 维度 tables 是反规范化的 tables。 维度属性是维度中的各个列 table 维度借助事实的属性提供事实的描述性特征 没有为给定的维数设置限制 维度也可以包含一个或多个层级关系

根据上面维度table的定义,我相信你table应该被称为维度table。

OrderServeruser table 的前缀应为 "bridge"。

它更像是一座桥梁table。这就是正在发生的事情。

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

一个bridge table can connect a set of values to a single fact table row, or it can connect two dimensions (such as customers and bank accounts). It is a way of handling legitimate many-to-many relationships. A bridge table is like a factless fact table。但是在维度建模中我们不把facttables连接在一起,而acceptable把bridgetables和facttables连接在一起。如果你必须强迫你的桥 table 成为事实或维度,它更接近事实 table。但这样做可能会使将来更容易养成不良的建模习惯。如果你可以称它为桥梁,我会接受它。 (确保您阅读了 "like a factless fact table" 上的第三个 link。它是由 Star Schema: The Complete Reference 的作者撰写的。这是一个被广泛接受的来源。)