黑马程序员技术交流社区
标题:
使用逻辑主键还是业务主键?
[打印本页]
作者:
王海舟
时间:
2012-9-14 08:53
标题:
使用逻辑主键还是业务主键?
设计数据库时,使用逻辑主键还是业务主键?它们到底有什么区别?谁能详细分析下?
作者:
许庭洲
时间:
2012-9-14 10:22
1. 逻辑主键(代理主键):在数据库表中采用一个与当前表中逻辑信息无关的字段作为其主键,称为“代理主键”;
2. 业务主键(自然主键):在数据库表中把具有业务逻辑含义的字段作为主键,称为“自然主键(Natural Key)”;
3. 使用逻辑主键的主要原因是,业务主键一旦改变则系统中关联该主键的部分的修改将会是不可避免的,并且引用越多改动越大;
4. 使用业务主键的主要原因是,增加逻辑主键就是增加了一个业务无关的字段,而用户通常都是对于业务相关的字段进行查找,这样我们除了为逻辑主键加索引,还必须为这些业务字段加索引,这样数据库的性能就会下降,而且也增加了存储空间的开销。
作者:
王海舟
时间:
2012-9-14 18:09
许庭洲 发表于 2012-9-14 10:22
1. 逻辑主键(代理主键):在数据库表中采用一个与当前表中逻辑信息无关的字段作为其主键,称为“代理主键 ...
多谢,讲得很详细
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2