SqlServer主键
时间:2019-05-15 16:43 来源:linux.it.net.cn 作者:IT
*主键
作用:唯一标识表中的一条记录。
*特点:
1不能重复的列。
2主键不能为null。
*同名时如何处理:王洋(大) 王洋(小)
*主键有两种选用策略:
业务主键和逻辑主键。
业务主键是使用有业务意义的字段做主键,比如身份证号、银行账号等;
逻辑主键是使用没有任何业务意义的字段做主键,完全给程序看的,业务人员不会看的数据。因为很难保证业务主键不会重复(身份证号重复)、不会变化(帐号升位),因此推荐用逻辑主键。
*选择什么样的列作为主键:
1.不允许为空的列。
2.没有重复的列。
3.与实际业务没有关系的列(逻辑主键)
4.稳定的列。(列中保存的数据不经常改变)
5.选择单列作为主键。(当通过多列共同唯一标识表中一条记录的时候,此时可以选择多列来工作组成一个主键,这种主键叫做:组合主键、复合主键、联合主键)一般不推荐使用组合主键。
6.尽量选择数字类型作为主键,不要选择字符串,或者数据类型比较大的列作为主键。(选择数据量比较小的列作为主键)
*当创建完毕一张表的时候,可以不设主键吗?
可以。但是建议每张表都应该有一个主键。
7.常见问题:
创建一个没有主键的表,插入数据,使用设计器删除时的问题。 如果没有主键,有重复数据,则删除、更新的时候会有问题。但通过Sql语句来执行则可以。
(责任编辑:IT)
*主键 作用:唯一标识表中的一条记录。 *特点: 1不能重复的列。 2主键不能为null。 *同名时如何处理:王洋(大) 王洋(小) *主键有两种选用策略: 业务主键和逻辑主键。 业务主键是使用有业务意义的字段做主键,比如身份证号、银行账号等; 逻辑主键是使用没有任何业务意义的字段做主键,完全给程序看的,业务人员不会看的数据。因为很难保证业务主键不会重复(身份证号重复)、不会变化(帐号升位),因此推荐用逻辑主键。 *选择什么样的列作为主键: 1.不允许为空的列。 2.没有重复的列。 3.与实际业务没有关系的列(逻辑主键) 4.稳定的列。(列中保存的数据不经常改变) 5.选择单列作为主键。(当通过多列共同唯一标识表中一条记录的时候,此时可以选择多列来工作组成一个主键,这种主键叫做:组合主键、复合主键、联合主键)一般不推荐使用组合主键。 6.尽量选择数字类型作为主键,不要选择字符串,或者数据类型比较大的列作为主键。(选择数据量比较小的列作为主键) *当创建完毕一张表的时候,可以不设主键吗? 可以。但是建议每张表都应该有一个主键。 7.常见问题: 创建一个没有主键的表,插入数据,使用设计器删除时的问题。 如果没有主键,有重复数据,则删除、更新的时候会有问题。但通过Sql语句来执行则可以。 (责任编辑:IT) |