输入数据校验与查错的两种方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

输入数据校验与查错的两种方法

在数据库管理系统输入模块的开发中,如何提高输入数据的正确性是开发者应考虑的一个重要问题。为了提高输入数据的正确性,其基本的功能要求是:①输入操作简单、轻松;②输入效率高,即具有重复内容自动复制和简易代码输入替代功能;③输入格式美观大方;④具有醒目的提示等。然而,仅有这些功能要求是不够的,它们不能从根本上提高输入数据的正确性。因为,大量的原始数据的输入是件繁琐而又单调的工作,难免出错。所以,必须要有更严格、更有效的科学方法和手段来提高输入数据的正确性。在实际工作中,笔者探索了输入数据校验与查错的两种方法,供数据库管理系统的开发者参考。

1.边输入边校验法

在这种方法中,假若输入数据有错,则要求数据录入者立即更正错误。这种方法常常用于所输入的数据具有某种规律和特征,若数据录入者键入的数据违背了这个规律和特征,即立即给出输入出错警告,并强制性要求数据录入者对当前输入的数据给予修正。例如,在财务管理系统中,一张“记帐凭证”一般有借方金额和贷方金额两栏数字。会计制度要求同一张凭证中借方金额合计和贷方金额合计必须相等。根据这一特征,所以在开发“记帐凭证”数据输入程序时,程序应能自动判断,在一张“记帐凭证”的数据输入结束后,借方金额合计与贷方金额合计是否相等,若不相等,应强制要求数据输入者立即重新输入。又例如,在每年的高考中,考生的成绩数据有一部分要通过人工评分后,然后由专人输入计算机。对于考生成绩数据,它所具有的特征是:每题的最高分和最低分(零分)是确定的,并且均为数字字符。根据这个特征,在开发的考生成绩数据管理系统的输入模块中,应具有如下功能,即在每题数据输入结束后,自动判断输入的分数值是否符合上述规律,若不符合,则应立即发出警告,并强制要求录入者重新输入。

2.双工输入比较法

所谓双工输入比较法,就是将同一批数据由两个输入人员在不同的时间和不同的终端上分别录入,并且形成两个临时数据库文件,然后由第三个人在程序的作用下对两个库文件中的数据进行逐项比较并进行确认或修改。在这种方法中,尽管同一批数据被录入了两次从而造成了数据冗余和影响了录入进度,但对于被录入的数据不存在明显的规律和上述第一种方法不能查出输入出错的场合,以及对输入数据的正确性要求很高的场合,是一种不可缺少的和行之有效的方法,因为,两个数据录入者都同时在某处出错的机会极少,故这种方法可以极大地减少出错率。根据概率论原理,如果两数据录入者各自的出错率为百分之一,则双工输入法的出错率仅为万分之一。双工输入比较法在FoxPro环境下的基本算法是:

①将同一批数据由两个录入者在不同时间和不同的终端上录入,并存入两个不同名的库文件中。

②输入“①”中产生的两个库文件名。

③在两个工作区中分别打开一个库文件,并按记录号使两个库文件建立关联。

④对两个库文件中的对应记录进行逐项比较,若不相等,则进行登记,包括位置的登记。

⑤若记录未结束,则记录指针加1,转④。

⑥打印输出所有不相等的数据项及其位置。

⑦确认和修改。

在上述算法“④”中,若一个记录中的同类型的数据项很多,则程序往往显得冗长。为了解决这个问题,可以把一个记录中同类型的数据项值加在一起求和,然后对求和结果进行比较。这样,可以大大减少程序中关系表达式的数目,从而简化了程序并提高了程序的执行速度。但此时最好用加权求和的方法。因为,含有相同数据类型、相同数据项个数的两次录入的数据,其求和结果相等和并不等于两次录入的数据的对应项也相等,录入的求和结果不相等。这样就可查出数据错位。而这种数据错位错误在有些实际问题中也是不允许的。

以上讨论的两种数据校验与查错方法,有时可以结合起来使用,即先用边输入边校验的方法进行第一次把关,滤去误输入的错误数据。然后再用双工输入校验法进行第二次把关,第一步校正误输入的错误数据。这样,可以确保输入的原始数据的正确。

相关文档
最新文档