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

数据库关键字的设计问题

楼主angelcool(快乐需要创造)2005-05-22 18:06:23 在 MS-SQL Server / 基础类 提问

比如:在设计一个“用户”表时,通常我们都习惯以userID作为关键字。  
  当添加一个新的用户时,以记录数+1作为它的值。  
  在没有删除操作时一切OK。  
  但是当删除一个或多个用户时,就要相应的修改数据库中每条记录的userID,以保证下一次新增用户时主键值不冲突。  
   
  我觉得这样做很麻烦,而且对数据库的频繁操作也影响程序的执行效率。  
  不知道大家是怎样做的?  
  请教我如何去合理的设计一个表。  
  谢谢!! 问题点数:50、回复次数:10Top

1 楼fancyf(凡瑞)回复于 2005-05-22 18:09:07 得分 10

不要修改每条记录的userID,保证不冲突的话用一个自增列就可以,删除用户就把那个ID空着好了,为什么一定要连续呢?Top

2 楼lxysjl(流星雨)回复于 2005-05-22 18:12:32 得分 10

是啊,没有必要要连续的啊。直接自增列就可以呢Top

3 楼zjcxc(邹建)回复于 2005-05-22 18:14:14 得分 0

为什么要修改?   让它空着不好吗?Top

4 楼zjcxc(邹建)回复于 2005-05-22 18:14:54 得分 10

修改的话,连相关联表的数据也得一齐修改,那是一件麻烦事.   而且userid是数据处理需要的,不是给用户看的,是否连续并不重要.Top

5 楼angelcool(快乐需要创造)回复于 2005-05-22 18:19:09 得分 0

让它自增总有一个限吧。你不可能把一个字段定义为无限长呀??  
  短期是可以实现,但以后呢??  
  这样不太好吧!!Top

6 楼OneGip(快信网王计平)回复于 2005-05-22 18:23:18 得分 20

就用Identity   自动增长属性,足够一般使用,况且你是个用户表,用一辈子也不会达到它的十分之一的大小.Top

7 楼angelcool(快乐需要创造)回复于 2005-05-22 18:26:13 得分 0

那怎么设定主键为自增的呢?  
  我用的是SQL   ServerTop

8 楼OneGip(快信网王计平)回复于 2005-05-22 18:32:18 得分 0

再顶Top

9 楼angelcool(快乐需要创造)回复于 2005-05-22 18:40:07 得分 0

to   OneGip(流浪者)    
  为什么我的SQL   Server的类型里没有dentity   这种类型呢??  
   
   
  是不是选“标识”为“是“,其下的标识种子和增量都按默认值为1就OK了??  
  Top

10 楼angelcool(快乐需要创造)回复于 2005-05-22 18:58:25 得分 0

我搜索了一下,好像所谓的Identity   属性就是如我所说的--选“标识”为“是“,其下的标识种子和增量都按默认值为1。  
   
  如果有什么补充,请告诉我。谢谢!Top

相关问题

  • 一个数据库设计问题,关于“关键字”字段的设计
  • 数据库关键字重复问题。
  • 如何判断数据库关键字重复的问题?
  • 连接数据库出现关键字错误,请指教
  • 数据库不认识 COLLATE 关键字啦.怎么回事啊?
  • 数据库设计
  • 数据库设计
  • odbc数据库查询中,只是匹配部分关键字,怎么办?
  • 怎么去捕捉数据库诸如关键字重复的问题??
  • 请问,这种数据库的表和关键字,怎么安排啊

关键词

  • 数据库
  • 用户
  • 修改
  • 标识
  • 删除
  • userid
  • 连续

得分解答快速导航

  • 帖主:angelcool
  • fancyf
  • lxysjl
  • zjcxc
  • OneGip

相关链接

  • SQL Server类图书

广告也精彩

反馈

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