问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

数据库中什么字段可设为主键

发布网友 发布时间:2022-04-08 10:28

我来回答

4个回答

懂视网 时间:2022-04-08 14:50

很久都没有写过博客了,从最后一次发表的文章到现在已经是两个多月的时间了,一直都想写点什么,可一直没有时间(其实都是借口),随笔内容无疑就是工作学习中的总结,经验的分享,也是自己成长的一面镜子,好了,言规正传,这次谈谈在数据库设计中主键字段类型的选择。

做web 开发时,经常要与数据库交互,数据库主键的选择也犹为重要,怎么么选择数据库主键字段的类型,主要从以下几个方面考虑:

1. 首先要符合业务需求,这是设计中重要的出发点

2. 数据库的迁移问题,考虑在后期是否要经常迁移,数据库高度唯一性

3.程度中的使用是否更简单,易用(比如分页,一般是根据主键查询来分页的)

4.数据库查询的效率,在主键做为外键链表查询的时候

 

根据以上的情况,通常数据库主键字段的类型常被设计成 int 或 GUID 或自定义的格式类型,以下详细说明这几种的区别和应用的场合

 

1. 主键字段类型设置成 int 类型

   这种情况主要考虑到程序的分页,排序(按主键字段的递增或递减),简洁易懂,同时可加rowguidcol列,如果是SQL 2005可以使用NewSequentialid()来顺序生成,为同步做准备,数据合并时也可以作为参考。主从表关联速度会快一点。小库推荐。

 

2.主键字段类型设置成 GUID 类型

  这种情况主要考虑到对数据有强烈的唯一性要求,比如用户表的主键类型都被设置成 GUID,其它的表的主键类型也都应该设置成GUID,严格避免数据重复,并易于定位;数据要经常迁移,如果是 int 类型,容易造成混乱;有若干个表饮食类似的数据,有时要对这些数据做合并或其它处理,这时GUID 类型是最好的选择

 

总结:

使用GUID。不存在重复问题,数据合并时非常简单。关联速度比int慢。经常合并数据或脱机输入数据联机上传最好用此方案。
guid  数值是随机的,而且不接受可以对使用者更具意义的任何形式。没有办法判定产生 guid 值的顺序,所以不适合用于现有依循环次序递增索引键值的应用程序

这两方案根据不同需求选择。

 

数据库设计中主键字段类型的选择

标签:

热心网友 时间:2022-04-08 11:58

首先明白什么是主键:唯一标示表中的某行数据。
1.无意义性:此处无意义是从用户的角度来定义的。这种无意义在一定程度上也会减少数据库的信息冗余。常常有人称呼主键为内部标识,为什么会这样称呼,原因之一在于“内部”,所谓内部从某种程度上来说就是指表记录,从大的范围来说就是数据库,如果你在设计的时候选择了对用户来说有意义的信息来作为主键,那么迟早会面对用户提出对这块信息进行更新的需求,那么你就违背了它应有的静态。

2.静态性:主键除了唯一地标识一条记录及外键的关联外,应不再考虑其他的意义,最理想的状态就是在产生后不再变动,所以在主键值产生后应考虑不对他进行更新等操作。如果进行了更新操作那么至少说明这块信息对于用户来说是有一定的意义,那么你就违背了应有的无意义性。(对数据进行整合等操作时可能需要对主键进行处理,这样做是为了保证数据库的完整性——记录的唯一,不在此考虑范围之内。)
无意义性往往可以决定其静态性。

3.简短性:既包含主键组成字段数量要少,还包含主键中单个字段存储类型简短,一般采用整形;对于前者主要考虑的是外键关联的因素;对于后者主要考虑的是性能。主键的简短对表的关联便捷性及检索的性能有极大的帮助。

详细出处参考:http://www.jb51.net/article/30907.htm

热心网友 时间:2022-04-08 13:16

主键是数据表的唯一索引,比如学生表里有学号和姓名,姓名可能有重名的,但学号确是唯一的,你要从学生表中搜索一条纪录如查找一个人,就只能根据学号去查找,这才能找出唯一的一个,这就是主键
主键值可以改变 但是不能重复!

热心网友 时间:2022-04-08 14:50

主键定义一般是唯一不重复的字符串、数字、或者编码,只要满足不重复的字段就可以定义为主键。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
“苏大强”的本意是什么?抹黑江苏吗? 伦敦奥运会入场式各个国家和地区的先后顺序 参加奥运会入场式的前后顺序 神马是费用性斜视?没听说过,斜视不就是斗鸡眼么 小儿斜视原因 为了不出现重影,右眼会被推到外斜视眼位,称为“废用性斜视” 在八岁时玩鞭炮炸伤左眼,而形成左眼斜视,现在能治好吗 ...后左眼斜视外斜 左眼下半部有光感 视觉模糊 请问左手术的话 能恢复... 两眼视力差距大会怎么样 关于耳洞的小问题~有经验的和懂行的进~ 万能的某淘某宝上面众筹怎么申请?我看某东都有 王者荣耀裸号是什么意思? 怎么样清除玻璃上防雾剂? 万能的某宝上买土猫一般一只正常多少钱? 考研帖上说的某宝是什么意思 为什么同一块硬盘,京东和某宝差价这么多,万能的某宝能买吗? 宠物猫咪饮水需要注意哪些问题 万能的淘宝是啥意思 我喜欢娜娜 翻译成韩语 怎么翻译 网上翻译 都不一样 为什么那么多人喜欢谢娜? 最好听的qq昵称 [关于娜娜】 如果说鲁鲁修爱娜娜莉那CC算什么? 关于谢娜的作文 张杰真的爱谢娜吗? 张杰是真的爱谢娜吗??? 本城莲喜欢蕾拉?!还是喜欢娜娜? vivo x30电信卡怎么弄出来 莲对蕾拉到底是怎么样的感情,请详细点说 还是说他又爱娜娜又爱蕾拉,那真是失望到点了T T 爱娜娜还是爱我 昊昊爱娜娜翻译拉丁语 代练说的某宝是什么 养串串狗在万能的某宝上一般要多少钱价位? 阅饼是什么意思 一百首中国风的歌曲 中国风的词 求:中国风的歌曲(女生唱,词文雅) 本人女25岁了,一直很喜欢中国风的古典舞。现在学还来得及吗? 中国风—歌词里的文字游戏的目录 中国风的英文 求一些中国风的音乐 律师事务所根据什么收费 求绝对经典的中国风歌曲 不是经典不要 最少发100首 听过以后再给分 苹果手机里有之前id账号下载的软件现在可以查到原来id账号吗? 20元的大好河山香烟有几种 大好河山硬盒多少钱一条 大好河山钻石香烟多少钱一包 20元和50元大好河山香烟区别是什么? 河北大好河山烟多少钱一包 20元一包的大好河山香烟什么地方有卖的 大好河山奥运版价格