2016-09-19 58 views
0

我希望有人能帮助我。数据仓库维度设计

假设我们的车辆数据仓库中有2个维度:卡车和包裹。两者都是2型SCD。

dim_TRUCKS包含以下数据:

TRUCK_KEY NAME PRICE 
    1  Ram 45000 
    2  F150 48000 
    3  Tundra 43000 

dim_PACKAGES包含以下数据:

PACKAGE_KEY NAME  PRICE 
    4  Offroad 4000 
    5  Luxury  7000 
    6  Sport  2000 

的BIZ规则和要求规定,每辆卡车只提供一个软件包。 (我知道这是不现实的,但它最好地表达了我面临的特定商业难题)。

每个卡车提供的包装可以随时间变化。

所以问题是设计和实现这个最好的方法是什么?

我最初的想法是简单地将PACKAGE_KEY添加到dim_TRUCKS,比如这个:

TRUCK_KEY NAME PRICE PACKAGE_KEY 
    1  Ram 45000  4 
    2  F150 48000  4 
    3  Tundra 43000  6 

显然,我想最终是是基于另一个SCD一个SCD的属性。这是不好的设计?有更好的方法去吗?

非常感谢。

回答

0

我不会模拟业务规则one package only on one truck。我宁愿将PACKAGETRUCK设置为从fact表中引用的尺寸。

原因

如果在今后的业务规则的改变(这种概率通常很高),你可能要改造现在保持它的简单,当不止。

你也是对的,总是试图保持复杂性,因为你可以选择,我会用不那么复杂的方式直接引用维度。

相关问题