断号重续之我见-LiShiping
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> 综合其它


断号重续之我见

发表时间:2012/8/18 9:15:16 评论(2) 浏览(5734)  评论 | 加入收藏 | 复制
   
摘 要:断号重续的弊端
正 文:

不少网友都有断号重续的要求,看到断号就如手中钉,眼中刺一样难受,其实号码就是个字符嘛,资源是永远用不完的,追求连号其实大可不必要。
如果不是特殊需求,断号重续将会带来很大的麻烦。
断号重续的弊端如下:

1.严重影响数据库性能:
每次编号之前,你必须要扫描全部编号数据,求出断号,然后再给它补上,更有追求完美者,甚至还有进行编号重排,天,累死电脑。如果编号有外键,那么全部要更改所有相关表。如果中途断电或发生错误,够你受的,轻点的,引发多用户并发问题,严重的,毁坏数据。

2.容易引起现实应用错误:
例如:有一项编号0239的物品,资料做好后,你会给这项物品贴上0239的编号标签,有天不小心误删了这项数据后(不删就不会产生断号嘛,呵呵),因为要断号重续嘛,所以0239就被其它物品占用,然后你又会把0239的编号贴在另个物品上(如果你的合作伙伴将这些编号记录入他 的系统,哇塞,更不得了),资料少,可以通过大脑来分辨,如果上万条数据呢?怎么去分辨?日积月累这将成为一个引向错误的方向,一旦发生这种错误,不仅会造成大小难定的损失,还会引发公司对数据可信度的质疑(剩下的工作就是对成千上万种物品一一核对编号,这是一件非常写意的事情)。
即使是QQ或电线运营商也不会轻易的对停用的通信号码去序号,可以想象一下,这将给用户造成多大的骚扰不不便。

3.不能通过编号分辨资料的先后顺序
整表编号重排可以分辨,但你得有这个勇气,否则的话,你就很难通过编号直接判断那些是新资料,那些是旧资料。

总结:
个人认为,断号重续在技术上玩玩可以,特殊需要,做做程序分析可以,实际应用中不要轻易去尝试(如果领导非有这方面的要求例外,可以生成一份断号表,以及断号的原因),编号这东西就像抽卫生纸,既然抽出来了,要么就用,要么就扔,如果抽出来不用塞回去或者用完后又重新塞回去,多么不讲卫生呀^_^

附:获取断号的方法
先对编号进行排序,用ADO+步长值,逐个读取编号进行大小对比,然后判断哪个地方产生了断号,然后记录下来。

断号重续的几个解决方案

方案一:
建立一个断号表,编号产生时,写入断号表,记录保存时,在断号表中删除之,
删除数据时,将编号写入断号表,下次编码时,先检索断号表中是否存在编号,如存在,则取用编号到单据并在断号表删除之。

方案二:
删除数据时,不真删,只是做个删除标记,下次编码时,先检索表中是否存删除标记的记录,如存在,则取用之。

使用以上方案时,无论如何都避免对编号重排,只做填补,重续时都应该提醒数据录入着,这个编号曾经出现过,并检查一下该编号是否有过真实的业务行为,(包括曾经是否记过帐、贴过标,是否被

合作伙伴的数据系统记录等等、以免出现数据和现实牛头不对马嘴的事情出现)


Access软件网交流QQ群(群号:198465573)
 
 相关文章
自定义自动编号,支持断号重号检测补号功能  【andymark  2008/4/2】
再谈自动编号函数AutoNum()可以检测断号...使断号重续.....  【chenlugen  2008/8/31】
自定义自动编号,带断号检测补号功能  【andymark  2008/11/6】
[access查询]【access技巧】最小断号查找的最高效方法(...  【红尘如烟  2012/5/22】
常见问答
技术分类
相关资源
文章搜索
关于作者

LiShiping

文章分类

文章存档

友情链接