维度建模求助!!!
有这样一个订单系统
事实表
订单号(DD)
区域(FK)
客户(FK)
产品(FK)
购买方式(FK)
购买数量(FACT)
购买金额(FACT)
维表
客户维
产品维
地区维
购买方式维
例如 蛋糕 和 奶酪 两个产品,蛋糕的代理建是001 ,奶酪的代理建是002.
如果某个人买了产品,这个人在一个订单内同时购买了蛋糕 和 奶酪,他就会产生一个订单,那么此时的订单事实表中的
产品代理键是应该填001还是002.
查了下资料,网上说可以把这个订单事实拆分,变成两个订单,即购买蛋糕是一个订单,购买奶酪是一个订单.这样两个订单
的产品维可以分别填入001和002.如果是这样的,购买方式有两种的话,是不是订单事实就要拆分成4份.总觉得这样不合理.
对于事实表的1条事实记录对应维度表中的两条记录,我应该如何设计这个模型呢.
事实表
订单号(DD)
区域(FK)
客户(FK)
产品(FK)
购买方式(FK)
购买数量(FACT)
购买金额(FACT)
维表
客户维
产品维
地区维
购买方式维
例如 蛋糕 和 奶酪 两个产品,蛋糕的代理建是001 ,奶酪的代理建是002.
如果某个人买了产品,这个人在一个订单内同时购买了蛋糕 和 奶酪,他就会产生一个订单,那么此时的订单事实表中的
产品代理键是应该填001还是002.
查了下资料,网上说可以把这个订单事实拆分,变成两个订单,即购买蛋糕是一个订单,购买奶酪是一个订单.这样两个订单
的产品维可以分别填入001和002.如果是这样的,购买方式有两种的话,是不是订单事实就要拆分成4份.总觉得这样不合理.
对于事实表的1条事实记录对应维度表中的两条记录,我应该如何设计这个模型呢.
作者: iamczy1234 发布时间: 2010-10-25
一个订单本来就有多条记录
不用再想这个问题了
不用再想这个问题了
作者: raullew 发布时间: 2010-10-25