数据仓库物理模型设计规范整理

1. 背景
日常数据功能开发过程中,会经常要开发人员自己设计物理存储模型(底层模型),在设计过程中往往会遇到一些设计共性问题,比如:物理模型需要的主键采用自然键还是业务键、相关时间戳字段(业务相关表和非业务相关表)、冗余字段是否需要、是否要保留 “历史台账信息”、在使用PowerDesigner设计物理表过程中常遇到的问题等等。
2. 规范要点
2.1自然键OR代理建
自然键:由现有实体存在的属性组成的键值,在业务概念上是唯一的。
代理键:不具有业务含义的键值表示数据唯一。
一个典型的例子,对于自然人唯一性的判别,可以以姓名+身份证件类型+身份证件号码为主唯一标识,但实际我们存储的时候并没有采用这三个属性字段作为唯一键,而是采用了自增序列的代理键,登记序号作为唯一键。
对于自然键,它不需要引入一个新的“非自然”列,并且与业务直接紧密耦合,很清楚透过自然键就可以明确业务上唯一的标准。但是,自然键正是由于直接对接业务属性值,当业务需求发生变更时,可能导致属性发生变更,唯一键可能就要重新指定。
对于代理键,需要引入一个新的“非自然”列,它不与业务直接耦合,更容易维护。当业务需求发生变更时,不会对它产生影响。从某种意义上讲代理键可以看做是直接物理存储唯一性的键值。但其自身由于跟业务没有直接耦合,通常是“不可读”的,无法通过一个代理键值直接定位出数据的业务含义。
这两种键类型,并没有说哪种是最优的,在模型设计中,该如何选用根据实际情况来定夺
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值