数据表的设计视图中,带有主键的自动编号类型字段是否可以改成数字类型?
1个回答
2020-05-22
展开全部
当然可以,主键的设置方法有3种:
一种是设置自增长主键,第二种是采用业务主键,第三种是生成唯一序列(使用uuid/guid);
如何选择主键设置方式:
1.主键的使用目的:
a.为了保证数据查找唯一;
b.提高存储效率和索引效率。
2.使用自增主键的场景:
a:表中找不出3个以内字段可以表示的业务主键
b:没有集中大量的插入操作
c:不使用自增id作为外键(即id变化不影响系统逻辑和功能)
此外自增主键的规律很明显,为了不让别人轻易的采集数据,同时符合以上条件,则优先选择自增主键;
3.使用业务主键做id:
a.如果你设计的表上存在非重复数据列,且常以该列检索数据,或该列还关联其他表的外键,譬如学号、会员卡号、身份证号这些,可以用来作为主键,主键在默认设置下是聚集索引,这样检索学号、卡号这些效率上就会比较高。
4.使用生成唯一的序列
a.如果不满足使用自增的要求,则建议优先使用字符主键。类似网站数据库,可以采用uuid、guid这类无规则字符做主键。因为字符主键查询速度不比自增主键慢。
b.考虑自增主键的弊端。很多表的ID会被其他表引用为外键,而且自增主键弊端是,用DELETE删除后,不会从新接着自增,而是接着删除前的ID自增;在多数据库迁移下,自增则会很繁琐,需要另外做联合主键才能保证数据的唯一性。
一种是设置自增长主键,第二种是采用业务主键,第三种是生成唯一序列(使用uuid/guid);
如何选择主键设置方式:
1.主键的使用目的:
a.为了保证数据查找唯一;
b.提高存储效率和索引效率。
2.使用自增主键的场景:
a:表中找不出3个以内字段可以表示的业务主键
b:没有集中大量的插入操作
c:不使用自增id作为外键(即id变化不影响系统逻辑和功能)
此外自增主键的规律很明显,为了不让别人轻易的采集数据,同时符合以上条件,则优先选择自增主键;
3.使用业务主键做id:
a.如果你设计的表上存在非重复数据列,且常以该列检索数据,或该列还关联其他表的外键,譬如学号、会员卡号、身份证号这些,可以用来作为主键,主键在默认设置下是聚集索引,这样检索学号、卡号这些效率上就会比较高。
4.使用生成唯一的序列
a.如果不满足使用自增的要求,则建议优先使用字符主键。类似网站数据库,可以采用uuid、guid这类无规则字符做主键。因为字符主键查询速度不比自增主键慢。
b.考虑自增主键的弊端。很多表的ID会被其他表引用为外键,而且自增主键弊端是,用DELETE删除后,不会从新接着自增,而是接着删除前的ID自增;在多数据库迁移下,自增则会很繁琐,需要另外做联合主键才能保证数据的唯一性。
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询