维表的属性改变了怎么办?
维表的属性改变了怎么办?
楼主()2002-05-14 15:38:08 在 其他数据库开发 / 数据仓库 提问 我是新手。例如:有一个客户维表,其中有一属性,客户类型。(acct_id,name,acct_type,...)。有一天客户类型改变了,若直接修改其属性,对历史数据的统计查询有影响。这里有一方法:另加三个属性:改变号,有效位(逻辑),日期。
改变前:(5050,tom,type1,...)
改变后: (5050,01,tom,false, type1, 2002-03-21,...)
(5050, 02, tom, true, type2, 2002-05-02,...)
第一条说明客户3月21日至5月2日属于type1,
第二条说明客户5月3日至当前属于type2,
这种方法载查询时要做更多的判断,有没有更简单或者其他的方法呢?
问题点数:0、回复次数:7Top
1 楼yongwc(疯狂客)回复于 2002-05-14 16:02:53 得分 0
成员的属性发生了改变,可以将改变后的成员当成一个新成员的看待吧,旧的成员还是保持不变。Top
2 楼yongwc(疯狂客)回复于 2002-05-14 16:11:24 得分 0
如果成员的属性发生了变化而又要保持这种变化信息,只能添加一个新的成员咯,旧成员保持不变,新成员有新的id,新的属性,这样处理也许会更好一些。Top
3 楼cxgtommy(Tommy)回复于 2002-05-14 16:33:47 得分 0
维表的主键是啥?如果加新成员的话,实表需要调整吗?这些跟你是否要结合新旧数据统一分析有关的。
:)Top
4 楼bi2002(空山灵雨)回复于 2002-05-14 17:52:17 得分 0
yongwc说得不错。这是关于维变化的问题,增加一个维成员,维表需要使用代理键。Top
5 楼ambird()回复于 2002-05-14 20:06:12 得分 0
yongwc兄:如果主键就是acct_id,添加新的id,新的属性,怎么区分呢?还要加新属性吗?还是用其它的做主键?
bi2002大哥:代理键是什么?怎么使?
多谢Top
6 楼bi2002(空山灵雨)回复于 2002-05-15 10:31:19 得分 0
主键弄成1、2、3、4、。。。。。。那种,acct_id不要当主键。这是的主键就是代理键了啊Top
7 楼yongwc(疯狂客)回复于 2002-05-15 10:37:07 得分 0
表的主键不用改变,维表的结构都可以不变
假设原来的纪录是(5050,tom,type1,...)
那么我们可以添加一条纪录(50501,tom,type2,...)到维表中,但有一个变化需要处理:以后进入到事实表的与tom相关的事实数据的acct_id要使用50501,而不是5050,即让新的事实数据关联到新的成员上。
也可以考虑使用代理键,这样就保持了acct_id信息。
Top
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn
