表的主键应当不具有任何业务含义
来源:互联网 发布:金融硕士学院选择知乎 编辑:程序博客网 时间:2024/05/16 18:19
表通过主键来保证每条记录的唯一性,表的主键应当不具有任何业务含义,因为任何有业务含义的列都有改变的可能性。关系数据库学的最重要的一个理论就是:不要给关键字赋予任何业务意义。假如关键字具有了业务意义,当用户决定改变业务含义,也许他们想要为关键字增加几位数字或把数字改为字母,那么就必须修改相关的关键字。一个表中的主关键字有可能被其他表作为外键。就算是一个简单的改变,譬如在客户号码上增加一位数字,也可能会造成极大的维护上的开销。
为了使表的主键不具有任何业务含义,一种解决方法是使用代理主键,例如为表定义一个不具有任何业务含义的ID字段(也可以叫其他的名字),专门作为表的主键。
——孙卫琴《精通Hibernate:Java对象持久化技术详解》P8
- 表的主键应当不具有任何业务含义
- 表的主键应当不具有任何业务含义整理
- 对象的属性则不具有多态性
- 注册表主键的含义
- 业务主键和代理主键的比较
- 主键的选择,应该是业务有意义还是业务无意义,应该是逻辑主键还是业务主键
- 强制转换的对象不具有相应属性
- 技术路线的选择重要但不具有决定性
- 技术路线的选择重要但不具有决定性
- 技术路线的选择重要但不具有决定性
- 技术路线的选择重要但不具有决定性
- 技术路线的选择重要但不具有决定性
- 技术路线的选择重要但不具有决定性(转)
- 技术路线的选择重要但不具有决定性
- 技术路线的选择重要但不具有决定性收藏
- 技术路线的选择重要但不具有决定性
- 技术路线的选择重要但不具有决定性
- 技术路线的选择重要但不具有决定性
- Struts+Spring+Hibernate组装web应用
- AJAX技术图解
- ado
- Team Foundation Server Beta3 安装指南
- 在C#中使用代理的方式触发事件
- 表的主键应当不具有任何业务含义
- 软件技术方向分析
- C# 泛型简介
- Java对象的强、软、弱和虚引用
- 谈谈软件从业者的学习方向和职业规划
- 最佳女友的50条标准
- 男生心疼女生的12点(经典)
- lwy的技术blog开通
- C++编程规范之组织和策略问题