CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  疑难问题

设计数据库时,是不是primary key应该一般情况下不会呗改动?

楼主qabp(又迷路了)2004-05-04 00:38:03 在 MS-SQL Server / 疑难问题 提问

假设这种情况,员工信息表有个员工编号字段,这个编号在使用MIS系统前就设定好了,每个职工都对应一个。输入员工信息的时候可能编号输入错误,那么就要修改。  
  是不是说员工编号不适合做主键了(虽然它可以唯一标识一条记录)?  
  一般主键都是自增字段,没有实际意义的?  
  我们在写修改模块的程序时,是不是都不允许改动主键的呢? 问题点数:20、回复次数:4Top

1 楼txlicenhe(马可)回复于 2004-05-04 08:39:06 得分 10

1:员工编号当然适合做主键。  
  2:我不喜欢用自增字段作为主键,特别是与其它表有关联的表中。  
  3:主键一般是不允许改动的。  
   
  Top

2 楼qabp(又迷路了)回复于 2004-05-04 10:48:49 得分 0

那我们设计update模块时,是不是根本不考虑主键修改的情况呢?  
  update的sql语句,根本不包含"set   id=..."呢?Top

3 楼qabp(又迷路了)回复于 2004-05-04 10:50:35 得分 0

与其它表有关联的表中,用自增字段作为主键的弊端是...?Top

4 楼haoK(haoK.Y)回复于 2004-05-04 12:45:47 得分 10

我还是喜欢用自增字段作主键,   原因如下:  
  1.   有意义的字段就存在修改或是录入错的情况,   作主键不太合适  
  2.   使用Int型的自增字段作主键,   在关联时效率会高些(我感觉)  
  3.   没有意义的自增字段不会有修改的情况,   也就不涉及update了  
  4.   如果有意义的字段(如编号)需要经常查询,或保持唯一性,   建议加唯一约束或索引保证  
  Top

相关问题

  • access 数据库出现“3022-duplicate value in index, primary key or relationship changes were unsuccessful"
  • 请教下用OleDb怎么访问Sql 2000数据库表的primary key?
  • 怎样在程序中感知SQL2000数据库改动?
  • 改动dataGrid,最后更新到数据库的问题!
  • 怎样在InterBase 中为一个数据库表建立含两个及以上字段的primary key
  • 我该怎么另sql语句对数据库的改动立即生效?
  • 我用mfc自动生成了一个oledb数据库操作程序,未作改动,可编译后提示数据库打开失败。
  • 数据库表格中有一字段为id serial primary key ,用java插入一条记录后,如何取得这条记录的id?
  • pb6code+ms sqlserver6.5,现在数据库升级到了7.0,原程序该如何改动!
  • sql server能查到数据库最新有修改动作的是哪张表吗

关键词

  • 字段
  • 修改
  • 员工
  • 增字段
  • 改动
  • 键
  • 作主
  • 表
  • 情况
  • 意义

得分解答快速导航

  • 帖主:qabp
  • txlicenhe
  • haoK

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo