目前,我正在参与新数据仓库的设计。我对这个主题很陌生并且有一个关于星型模式和多对多关系的一般性问题,特别是多对多关系。
我想用一个简短的例子说明我的问题,例如:销售数据集市。我有一个事故表,它在发票级别,包含总销售额为$,增值税等措施。对于每个记录,我至少有一个卖家,最多两个卖家。两个卖家都具有相同的属性,因此只需要卖家的一个简单维度。你会如何模仿这个?
我可以想象以下三种不同的方法:
你对此有任何考虑吗?如果你能分享一些知识,那将是很棒的。非常感谢。
答案 0 :(得分:1)
根据我的经验,这将是我对此的看法。
1)我会将两个卖家放在同一行,例如,这样可以更轻松地管理您的汇总指标。
2)每当只有一个卖家时,请输入代表"不适用的代码"到代表其他卖家的领域。插入此"不适用"排在你的卖家维度。这将确保参照完整性,并提供有关该行的有用信息。
3)为seller1和seller2制作单独的尺寸。只需制作一张卖家表并为该表设置一个VIEW,这样你最终会有两个不同的维度,但只有一个物理表。
4)关于"这种方法使得查询数据仓库变得更加困难,例如当我需要所有卖家的总销售额时,无论他们的角色如何。您可以在两个维度上通知同一卖家给您答案。
随着DW的发展,您对域名的了解也在不断发展,请记住这一点。也许这个设计需要在某个时候升级,但你永远不知道。你唯一要做的就是接受改变并做好准备。祝福,祝你好运。