|
使用代理键作为主键,通常发生在数据仓库建模中的维表模型。
所有公司都有这样的业务场景: 员工档案表和工资表, 而且员工有工号,当员工“张三”在2012年1月的等级上升时,他的工资涨了,但工号是不会改变的。 设计如下工资表:
使用代理键作为主键
序号 工号 姓名 技术等级 有效起始日期 有效结束日期 有效标识
1 A01 张三 C 20100901 20111231 0
2 A01 张三 B 20120101 null 1
使用业务主键 (将张三的技术等级做Update,有效期起始时间也会update, 不过通常没有缓慢变化的维表是不需要这种有效期限定的。 )
工号 姓名 技术等级 有效起始日期 有效结束日期 有效标识
A01 张三 B 20120101 1
工资表
员工序号 员工工号 薪资 年月
1 A01 10000 201111
1 A01 10000 201112
2 A01 15000 201201
业务需求:
查询B级员工的薪资总和
使用业务主键的员工表查询结果:35000
使用代理键作为主键的结果是:15000
|
|