Foxtable(狐表)用户栏目专家坐堂 → [分享] 新版《网络环境下复杂的不重复编号》


  共有16840人关注过本帖树形打印复制链接

主题:[分享] 新版《网络环境下复杂的不重复编号》

帅哥哟,离线,有人找我吗?
jspta
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/9/29 16:20:00 [显示全部帖子]

以下是引用lsy在2013-2-12 14:18:00的发言:

数据库最讲究雁过留痕

     如果是基础数据表,相当于数据字典的,变动很小,软件商或管理员在录入之前先禁止自动编号,等数据录入完毕,在自动编号列用序列填充按编号规则一次性完成编号,然后恢复自动编号,以后零星添加新行的时候,就会自动编号,这样可以避免初始录入过程中,频繁增删造成断号。

     如果是日常操作录入的大量增加的数据行,自动编号列当然是一行行自动增加,不应人为干预。

     只要是已经保存的数据行,就应该在数据库的生命周期中完整保存,不能删除,也不能随意更改,包括自动编号,这样也就不存在断号的问题。

     如果需要删除记录,应该把原记录标记为“已删除”,而不是物理的删除。

     自动编号,简洁易用为好,000001,000002,这样的格式就很好,加上前缀,就是累赘。根据实际需要,取合适的长度即可,容易识别、容易比较,用编号查询的时候,也容易输入

基础数据应当尽量减少删除的可能性。关于断号的回收感觉还是没必要,他只是个标识,本身没有太大意义。如果有意义,那这样回收岂不是乱套了?

正式保存后在生成编号,能够减少断号的可能性

前缀还是应当加,在做综合查询和输出或其他什么,还是能一眼看出编号不同的,特别是进行合并,这个作用非常明显


 回到顶部