會員登錄 - 用戶注冊 - 網(wǎng)站地圖 Office中國(office-cn.net),專業(yè)Office論壇
當(dāng)前位置:主頁 > 技巧 > Access技巧 > 編程心得絕招 > 經(jīng)驗泛談 > 正文

淺談斷號重續(xù)的利弊和方法

時間:2013-11-06 16:38 來源:office中國 作者:layaman_999 閱讀:
    不少網(wǎng)友都有斷號重續(xù)的要求,看到斷號就如手中釘,眼中刺一樣難受,其實號碼就是個字符嘛,資源是永遠(yuǎn)用不完的,追求連號其實大可不必要。
如果不是特殊需求,斷號重續(xù)將會帶來很大的麻煩。
斷號重續(xù)的弊端如下:
 
1.嚴(yán)重影響數(shù)據(jù)庫性能:
    每次編號之前,你必須要掃描全部編號數(shù)據(jù),求出斷號,然后再給它補上,更有追求完美者,甚至還有進(jìn)行編號重排,天,累死電腦。如果編號有外鍵,那么全部要更改所有相關(guān)表。如果中途斷電或發(fā)生錯誤,夠你受的,輕點的,引發(fā)多用戶并發(fā)問題,嚴(yán)重的,毀壞數(shù)據(jù)。
 
2.容易引起現(xiàn)實應(yīng)用錯誤:
    例如:有一項編號0239的物品,資料做好后,你會給這項物品貼上0239的編號標(biāo)簽,有天不小心誤刪了這項數(shù)據(jù)后(不刪就不會產(chǎn)生斷號嘛,呵呵),因為要斷號重續(xù)嘛,所以0239就被其它物品占用,然后你又會把0239的編號貼在另個物品上,(如果你的合作伙伴將這些編號記錄入他 的系統(tǒng),哇塞,更不得了)資料少,可以通過大腦來分辨,如果上萬條數(shù)據(jù)呢?怎么去分辨?日積月累這將成為一個引向錯誤的方向,一旦發(fā)生這種錯誤,不僅會造成大小難定的損失,還會引發(fā)公司對數(shù)據(jù)可信度的質(zhì)疑(剩下的工作就是對成千上萬種物品一一核對編號,這是一件非常寫意的事情)。
即使是QQ或電線運營商也不會輕易的對停用的通信號碼去序號,可以想象一下,這將給用戶造成多大的騷擾不不便。
 
3.不能通過編號分辨資料的先后順序
    整表編號重排可以分辨,但你得有這個勇氣,否則的話,你就很難通過編號直接判斷那些是新資料,那些是舊資料。
 
總結(jié):
    個人認(rèn)為,斷號重續(xù)在技術(shù)上玩玩可以,特殊需要,做做程序分析可以,實際應(yīng)用中不要輕易去嘗試(如果領(lǐng)導(dǎo)非有這方面的要求例外,可以生成一份斷號表,以及斷號的原因)
    編號這東西就像抽衛(wèi)生紙,既然抽出來了,要么就用,要么就扔,如果抽出來不用塞回去或者用完后又重新塞回去,多么不講衛(wèi)生呀^_^
    附:獲取斷號的方法
    先對編號進(jìn)行排序,用ADO+步長值,逐個讀取編號進(jìn)行大小對比,然后判斷哪個地方產(chǎn)生了斷號,然后記錄下來。
 
斷號重續(xù)的幾個解決方案
方案一:
    建立一個斷號表,編號產(chǎn)生時,寫入斷號表,記錄保存時,在斷號表中刪除之,
刪除數(shù)據(jù)時,將編號寫入斷號表,下次編碼時,先檢索斷號表中是否存在編號,如存在,則取用編號到單據(jù)并在斷號表刪除之。
方案二:
    刪除數(shù)據(jù)時,不真刪,只是做個刪除標(biāo)記,下次編碼時,先檢索表中是否存刪除標(biāo)記的記錄,如存在,則取用之。
    使用以上方案時,無論如何都避免對編號重排,只做填補,重續(xù)時都應(yīng)該提醒數(shù)據(jù)錄入著,這個編號曾經(jīng)出現(xiàn)過,并檢查一下該編號是否有過真實的業(yè)務(wù)行為,(包括曾經(jīng)是否記過帳、貼過標(biāo),是否被合作伙伴的數(shù)據(jù)系統(tǒng)記錄等等、以免出現(xiàn)數(shù)據(jù)和現(xiàn)實牛頭不對馬嘴的事情出現(xiàn))

(責(zé)任編輯:admin)

頂一下
(1)
100%
踩一下
(0)
0%
發(fā)表評論
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動的言論。
評價: