- 相關(guān)推薦
談?wù)勌岣咻斎霐?shù)據(jù)正確性的方法
張正武 (合肥工業(yè)大學計算中心)摘要: 本文主要討論提高輸入數(shù)據(jù)正確性的方法,供讀者參考與借鑒。 關(guān)鍵詞:數(shù)據(jù)輸入 數(shù)據(jù)校驗 雙工輸入 加權(quán)求和?
引言
在數(shù)據(jù)庫管理系統(tǒng)輸入模塊的開發(fā)中,如何提高輸入數(shù)據(jù)的正確性是開發(fā)者應(yīng)考慮的一個重
要問題。為了提高輸入數(shù)據(jù)的正確性,其基本的功能要求是:①輸入操作簡單、輕松;②輸
入效率高,即具有重復(fù)內(nèi)容自動復(fù)制和簡易代碼輸入替代功能;③輸入格式美觀大方;④具
有醒目的提示等。然而,僅有這些功能要求是不夠的,它們不能從根本上提高輸入數(shù)據(jù)的正
確性。因為,大量的原始數(shù)據(jù)的輸入是件繁瑣而又單調(diào)的工作,難免出錯。所以,必須要有
更嚴格、更有效的科學方法和手段來提高輸入數(shù)據(jù)的正確性。本文給出了提高輸入數(shù)據(jù)正確
性的方法,供數(shù)據(jù)庫管理系統(tǒng)的開發(fā)者參考與借鑒。?
二、輸入數(shù)據(jù)的校驗與查錯方法
輸入數(shù)據(jù)的校驗與查錯方法常常有兩種,其中第一種是邊輸入邊校驗法。在這種方法中,假
若輸入數(shù)據(jù)有錯,則要求數(shù)據(jù)錄入者立即更正錯誤。這種方法常常用于所輸入的數(shù)據(jù)具有某
種規(guī)律和特征,若數(shù)據(jù)錄入者鍵入的數(shù)據(jù)違背了這個規(guī)律和特征,即立即給出輸入出錯警告
,并強制性要求數(shù)據(jù)錄入者對當前輸入的數(shù)據(jù)給予修正。例如,在財務(wù)管理系統(tǒng)中,一張“
記帳憑證”一般有借方金額和貸方金額兩欄數(shù)字。會計制度要求同一張憑證中借方金額合計
和貸方金額合計必須相等。根據(jù)這一特征,所以在開發(fā)“記帳憑證”數(shù)據(jù)輸入程序時,程序
應(yīng)能自動判斷,在一張“記帳憑證”的數(shù)據(jù)輸入結(jié)束后,借方金額合計與貸方金額合計是否
相等,若不相等,應(yīng)強制要求數(shù)據(jù)輸入者立即重新輸入。又例如,在每年的高考中,考生的
成績數(shù)據(jù)有一部分要通過人工閱卷評分后,然后由專人輸入計算機。對于考生成績數(shù)據(jù),它
所具有的特征是:每題的最高分和最低分(零分)是確定的,并且均為數(shù)字字符。根據(jù)這個特
征,所以在開發(fā)的考生成績數(shù)據(jù)管理系統(tǒng)的輸入模塊中,應(yīng)具有如下功能,即在每題數(shù)據(jù)輸
入結(jié)束后,自動判斷輸入的分數(shù)值是否符合上述規(guī)律,若不符合,則應(yīng)立即發(fā)出警告,并強
制要求錄入者重新輸入。?
數(shù)據(jù)校驗與查錯的第二種方法是雙工輸入比較法。所謂雙工輸入比較法,就是將同一批數(shù)據(jù)
由兩個輸入人員在不同的時間和不同的終端上分別錄入,并且形成兩個臨時數(shù)據(jù)庫文件,然
后由第三個人在程序的作用下對兩個庫文件中的數(shù)據(jù)進行逐項比較并進行確認或修改。在這
種方法中,盡管同一批數(shù)據(jù)被錄入了兩次從而造成了數(shù)據(jù)冗余和影響了錄入進度,但對于被
錄入的數(shù)據(jù)不存在明顯的規(guī)律和上述第一種方法不能查出輸入出錯的場合,以及對輸入數(shù)據(jù)
的正確性要求很高的場合,是一種不可缺少的和行之有效的方法,因為,兩個數(shù)據(jù)錄入者都
同時在某處出錯的機會極少,故這種方法可以極大地減少出錯率。根據(jù)概率論原理,如果兩
個數(shù)據(jù)錄入者各自的出錯率為百分之一,則雙工輸入法的出錯率僅為萬分之一。雙工輸入比
較法在FoxPro環(huán)境下的基本算法是:?
①將同一批數(shù)據(jù)由兩個錄入者在不同時間和不同的終端上錄入,并存入兩個不同名
的庫文件中。
②輸入“①”中產(chǎn)生的兩個庫文件名。?
③在兩個工作區(qū)中分別打開一個庫文件,并按記錄號使兩個庫文件建立關(guān)聯(lián)。?
④對兩個庫文件中的對應(yīng)記錄進行逐項比較,若不相等,則進行登記,包括位置的登記。?
⑤若記錄未結(jié)束,則記錄指針加1,轉(zhuǎn)④。?
⑥打印輸出所有不相等的數(shù)據(jù)項及其位置。?
⑦確認和修改。?
在上述算法“④”中,若一個記錄中的同類型的數(shù)據(jù)項很多,則程序往往顯得冗長。為了解
決這個問題,可以把一個記錄中同類型的數(shù)據(jù)項值加在一起求和,然后對求和結(jié)果進行比較
。這樣,可以大大減少程序中關(guān)系表達式的數(shù)目,從而簡化了程序并提高了程序的執(zhí)行速度
。但此時最好用加權(quán)求和的方法。因為,含有相同數(shù)據(jù)類型、相同數(shù)據(jù)項個數(shù)的兩次錄入的
數(shù)據(jù),其求和結(jié)果相等和并不等于兩次錄入的數(shù)據(jù)的對應(yīng)項也相等,如表1所示。
表1:考生部分題的成績數(shù)據(jù)雙工錄入對照表
第二題?(權(quán):3)第三題?權(quán)
:2第四題?權(quán):1求和
不加權(quán)加權(quán)
第一次錄入 25 15 10 50 115
第二次錄入 15 25 10 50 105
從表1可以清楚地看出,盡管第二次錄入時把第二、三題的數(shù)據(jù)順序輸入反了,其和值
仍是50。若將第二、三、四題的得分值分別對應(yīng)乘以位權(quán)3、2、1后再相加,就能發(fā)現(xiàn)兩次
錄入的求和結(jié)果不相等。這樣就可查出第二、三題的數(shù)據(jù)錯位。而這種數(shù)據(jù)錯位錯誤在有些
實際問題中也是不允許的。?
以上討論的兩種數(shù)據(jù)校驗與查錯方法,有時可以結(jié)合起來使用,即先用邊輸入邊校驗的方法
進行第一次把關(guān),濾去誤輸入的錯誤數(shù)據(jù)。然后再用雙工輸入校驗法進行第二次把關(guān),第一
步校正誤輸入的錯誤數(shù)據(jù)。這樣,可以確保輸入的原始數(shù)據(jù)的正確。?
三、結(jié)束語
在數(shù)據(jù)庫管理系統(tǒng)的輸入模塊開發(fā)中,為了提高入庫原始數(shù)據(jù)的正確性,數(shù)據(jù)的校驗與查錯
功能是不可缺少的;仡櫸覇挝唤哪(95~98年)承擔的安徽省高考人工閱卷考生成績的錄
入與管理,由于采取了一系列行之有效的措施,特別是采用了本文給出的提高輸入數(shù)據(jù)正確
性的方法,所以,連續(xù)四年未發(fā)現(xiàn)考生成績輸入錯誤。受到了安徽省教委有關(guān)部門的表揚。
【談?wù)勌岣咻斎霐?shù)據(jù)正確性的方法】相關(guān)文章:
談?wù)動⒄Z寫作的基本方法08-17
談?wù)勅绾翁岣邔W生信息技術(shù)的整體水平08-17
提高寫作技巧的方法06-27
優(yōu)化閱讀方法提高閱讀能力08-12
淺談提高生物學習的方法08-25
提高你的寫作技巧的方法07-22
優(yōu)化閱讀方法,提高閱讀能力08-17
提高孩子寫作技巧的方法07-09