A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王海舟 中级黑马   /  2012-9-14 08:53  /  3091 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

设计数据库时,使用逻辑主键还是业务主键?它们到底有什么区别?谁能详细分析下?

2 个回复

倒序浏览
1. 逻辑主键(代理主键):在数据库表中采用一个与当前表中逻辑信息无关的字段作为其主键,称为“代理主键”;
2. 业务主键(自然主键):在数据库表中把具有业务逻辑含义的字段作为主键,称为“自然主键(Natural Key)”;
3. 使用逻辑主键的主要原因是,业务主键一旦改变则系统中关联该主键的部分的修改将会是不可避免的,并且引用越多改动越大;
4. 使用业务主键的主要原因是,增加逻辑主键就是增加了一个业务无关的字段,而用户通常都是对于业务相关的字段进行查找,这样我们除了为逻辑主键加索引,还必须为这些业务字段加索引,这样数据库的性能就会下降,而且也增加了存储空间的开销。
回复 使用道具 举报
许庭洲 发表于 2012-9-14 10:22
1. 逻辑主键(代理主键):在数据库表中采用一个与当前表中逻辑信息无关的字段作为其主键,称为“代理主键 ...

多谢,讲得很详细
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马