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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ARMdong 中级黑马   /  2012-7-31 12:45  /  2004 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在创建一个表时,对于主键的设置,在什么情况下选择用逻辑主键还是业务主键?

6 个回复

正序浏览
业务主键,有意义的字段。逻辑主键,无意义的字段。我感觉还是逻辑主键好一点

回复 使用道具 举报
个人意见:并不是说用哪种主键就好,只要业务主键能保证唯一性,就没必要再增加一列来作为逻辑主键了
回复 使用道具 举报
逻辑主键→没有意义的主键,主要就是用来区别一列数据的
业务主键→存在业务意义的主键;
一般情况下为了除表示指定一列数据外,在业务上没有任何意思的字段就设置为逻辑主键;如果该字段在业务上表示着什么意思的话就设置为业务主键,
个人浅见…………{:soso_e100:}
回复 使用道具 举报
逻辑主键(surrogate   key)是唯一标识一条记录,用来关联 .
业务主键(natrual   key)是对与前端可见的,用来索引和关联的.
回复 使用道具 举报
业务主键(自然主键):在数据库表中把具有业务逻辑含义的字段作为主键,称为“自然主键(Natural Key)”。

逻辑主键(代理主键):在数据库表中采用一个与当前表中逻辑信息无关的字段作为其主键,称为“代理主键”。

复合主键(联合主键):通过两个或者多个字段的组合作为主键。

回复 使用道具 举报
1,对于业务数据,最好采用逻辑主键;
2,对于业务复合主键有多个字段(个数大于3),需要采用逻辑主键;
3,对于基础数据,最好采用业务主键。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马