繁体   English   中英

是否可以在不使用链接表的情况下将多个事实表连接到相同的维度表?

[英]Is it ok to have multiple fact tables that are connected to the same dimension tables without using a link table?

让我们说在我的数据库模型中我有三个事实表。 这些事实表具有相同的维度表(所谓的一致维度)。 我知道我不应该直接连接事实表(因为直接连接可能导致一些事实的重复计算),但只能通过维度表。 我感兴趣的是我可以毫无问题地将每个事实与每个维度表连接起来吗? 我寻找了很多答案,意见分歧。 有人说没有问题,其他人说因为这个事实表可以相互关联,并且可以发生循环引用; 并且在这些情况下应该使用所谓的链接表。 这个链接表真的是必要的还是没有它可以工作?

如果维度可以描述事实事件的某个方面,则应将其连接以便可以在分析中使用。

但是,您不应强制关系将事实连接到不需要的维度。 这将使你的模型混乱和臃肿。

你是不正确的,你不应该直接连接事实。 该模型不起作用。 您需要阅读事实和维度的目的,以了解原因。

您应该能够通过公共维度在相关事件之间导航,但这不是循环引用。 循环引用可防止返回值,因为关系没有底部。

如果实体具有多对多关系,则可以使用链接/桥接表将关系扩展为多个一对多/一对一关系。 模型很复杂,而且太多不能解释为这个问题的一部分。

如果您需要更多,请发布您的一些模型,以便我们可以专注于您的问题的特定需求。

我实现了模型(在MS SQL中),我在这里分享我的经验,以防将来有人对此感兴趣。
最后,我创建了五个事实表(模型变得更复杂),它们都直接连接到所有现有维度表(其中六个)。 我没有使用链接表。
这个模型现在使用了近五个月,到目前为止没有出现任何问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM