数据入库质量控制的方法实现

数据入库质量控制的方法实现,第1张

数据数据质量是数据库的生命,再好的入库数据质量控制的方法,如果得不能贯彻和执行,也不能保证入库数据的正确性。所以,基于上述入库数据质量控制思想,研发了航空物探数据库数据采集软件(图5-3),强制数据入库工作按规范化的流程执行,保证数据库数据质量。

数据采集软件包括数据导入录入、数据检查、数据编辑、数据归档入库等功能,为了方便数据采集人员工作,把本系统应用软件中的数据查询统计和数据制图功能也集成到该软件中。各部分功能分述如下。

图5-3 数据库数据采集软件结构

一、创建项目

航空物探勘查项目工作一般分为航空物探生产测量、数据处理和地质解释3个阶段,野外生产测量和数据处理完成之后分别编写航空物探生产报告和数据处理报告,通过评审后须上交测量资料和处理后的数据。此时,地质解释工作正进行。

航空物探科研项目工作一般是分课题(二级项目)、课题分子课题(三级项目)等进行的。级别低的项目总是最先完成,然后评审和上交资料;级别较高的项目较后完成,一级项目最后完成,最后上交资料。

如果把勘查项目的3个阶段当成3个课题(事实上的确如此,只是习惯上不这样叫),勘查项目和科研项目不仅在工作形式上是一致的,资料上交的次序也是相同的(图5-5)。这种按项目完成的先后次序进行项目资料归档方式,在资料人工管理人工服务时代,人们并没有觉得有什么问题。只是,资料管理方式的变革,人们对资料服务提出了更高的要求,希望资料信息化管理不要再忽视不同级别项目间的关系信息。

这种关系与计算机磁盘文件管理的目录间关系是相似的,目录等同于项目,子目录等同于子项目。目录、子目录间的关系似树形结构,称为目录树;项目、子项目间的关系也似树形结构,称之为项目树。有计算机常识的人都知道,按照一定的方式建立目录树,把文件存在相应目录下,不仅文件管理更有条理,用户查找文件的速度也成倍提高。因此,本系统采用项目树方式来管理项目资料。该管理方式符合人们的思维习惯,资料查询更方便。

图5-4 数据库数据采集软件主界面

图5-5 不同级别项目资料归档次序图

在新项目数据导入或录入数据库之前,须先创建项目树。建项目树与在磁盘上创建文件目录相似,按项目(目录)、子项目(子目录)顺序创建,不能倒行逆施。然后,按项目导入或录入数据。图5-6为创建项目树界面。用户在父项目的下拉框中选择新建项目的父项目(一级项目为null),再填写项目的档案号等信息后,按“确定”创建项目树的根项目(一级项目),或项目树的一个节点(子项目),并自动为项目分配一个项目标识号,作为识别项目和项目资料的唯一标志。

图5-6 创建项目树功能界面

二、数据录入和导入

项目数据进入数据库有数据录入和数据导入两种方式。数据录入方式是使用系统的数据录入界面将数据直接录入到数据采集库中。若用户已按入库数据接口标准要求整理好入库数据,可采用导入方式将数据导入到数据采集库中。其实,这两种方式没有本质上的差别。例如,项目概况数据、空间要素类(岩石物性、异常、解释评价)属性数据等都必须是人工录入的,区别是谁来录入资料整理人员,还是数据采集人员这不属本系统的研究范畴,系统支持这两种数据入库方式。

因数据库的每张表所包含的信息不同,所以每张表都应有独立的数据录入界面(录入、浏览、编辑数据)。加之用户查询界面、数据统计界面,1张数据库表需要3个用户界面。本系统共有地球物理数据库表31张,按照常规做法需要开发93个用户界面。随着航空物探技术发展,可能在数据库表中增加新的信息,或新增数据库表,都需要通过修改软件代码来满足新的需求。该方法不仅软件研发和测试工作量大,后期软件维护工作量也很大。

为此,本系统研究出根据数据库表的描述信息动态生成用户界面的方法,此方法具有很好的通用性,对数据库的所有表均适用,有效地降低了软件开发工作量,方便了后期软件维护。图5-7是使用该方法动态生成的项目概况数据录入界面,用于项目概况数据的录入和编辑。

图5-7 项目概况数据的录入定制界面

该方法是将数据库表的描述信息存储在资料库中的库表属性清单表中,在运行时系统根据数据库表名称从库表属性清单表和其相关的数据字典表中提取该表对应的字段信息,然后调用界面定制函数,根据界面类型(录入、浏览、修改、简单查询)动态生成相应的界面。

由于数据库表包含的字段数相差较大(多的近30个字段,少的不到10个字段)、同一表的字段类型不同(有字符串、数字、时间、大字段)、字段数据类型长度不一(有的字段长度为200个字符,有的只有1个字符),同时库表的相关字段在界面上相邻摆放较合适,针对这些问题在界面定制时采取以下策略:

1)对库表字段分组,并为每组取一个合适的名字。在定制界面上,同组的字段摆放在同一张卡片中,组名作为卡片名。

2)字段值来源于数据字典表的数字型字段,用组合框显示其值,组合框中内容从数据字典表提取。用文本框显示其他数字型字段、字符串型字段值。

3)根据定制界面上父控件的尺寸、字段名称、字段数据类型长度确定其对应控件的位置和大小,控件的布局遵循一行最多显示两字段的原则。

不同类型界面的定制方法大同小异,因此采用了同界面定制代码,只是在个别地方根据需要相关处理。例如,对于大字段型的字段,如果界面定制类型为“录入”,则其对应文本框后的命令按钮为打开文件。如果界面定制类型为“浏览”,则其对应文本框后的命令按钮为浏览大字段值。

三、入库前系统检查

入库数据进入采集数据前,系统对其进行唯一性检查、缺项检查和数据类型检查,即入库前系统检查。

唯一性检查:航空物探资料库是航空物探数据的最终目的地,但可能会有部分项目数据因没有通过质量检查而滞留在采集库中。在进行新的项目数据采集过程时,为了避免项目数据2次入库,在其进入采集库前需要进行唯一性检查。方法是用入库数据每条记录主键作为查询条件,查找资料库和采集库中相对应的库表是否存在有相同的记录。例如,黄海北部海域航空磁测普查(项目标识号AGS011978000251),在项目概况数据导入采集库时,根据项目概况数据库表的项目标识号(主键)在采集库和资料库的相应表中查找是否有相同的项目标识号存在:若资料库中存在,说明该项目数据已归档;若采集库中存在,该项目数据已被导入采集库中待检,不需再次导入。

缺项检查:入库数据的字段数必须等于相应数据库表的字段数,比数据库表字段数多或少都不能通过缺项检查。

数据类型检查:对入库数据所有字段数据进行类型检查。若是日期型数据,则检查数据格式(YYYY-MM-DD),YYYY、MM、DD是否为数字。若数字型数据,检查整数位和小数位的位数是否超过范围,整数位和小数位是否为数字。字符型数据,则检查字符串长度是否超限。

入库数据通过入库前系统检查后被存入采集库中,否则软件给出错误提示信息(图5-8)。采集人员根据提示信息纠正数据中存在错误,再新导入数据。

图5-8 入库前系统检查的错误提示

四、入库后系统检查

系统对进入采集库中的数据进行非空和可空检查、前后数据检查、相关数据检查、值域范围检查、选择范围检查,即入库后系统检查(图5-9)。

非空检查:入库数据指定字段的值不能为空,如所有数据库表的项目标识不能为空,项目名称、项目参加单位名称、参加人员名称都不能为空。

可空缺项检查:入库数据指定字段的值在有一定条件下可以为空,例如当勘查项目概况表记录方式字段的值为打点记录或纸卷模拟记录时,航磁数据的采样率为空。若为数字收录,航磁数据的采样率不能为空。

前后数据检查:检查入库数据指定字段与其父表中相同字段数据的一致性,如项目参加人员表中的项目标识必须与项目概况信息中的项目标识相同。

图5-9 入库后系统检查

相关数据检查:检查相关表中相关字段数据对入库数据指定字段的约束,如项目概况信息中有项目的起始日期和完成日期两个字段,那么项目人员参加项目工作的起止日期都必须在项目的起始日期和完成日期之间。

值域范围检查:入库数据指定字段的数值必须是在设定的值域范围内,如勘查项目概况中的调机小时设定在0和100h范围,若超过此范围,调机小时数据有错误。

选择范围检查:入库数据指定字段的数值必须是一个已知数据集合的元素之一,如项目成果评价只能在优秀、良好、通过和不合格4个选项中择其一。

根据选定的库表名提取该库表各个字段的检查规则,逐条记录进行前后数据检查、相关检查、值域范围检查、选择范围检查。发现错误,把错误记录暂存在内存中,继续进行下条记录检查,至所有记录检查完。把错误写入检查日志表(若有相同检查日志记录,则先备份到检查日志备份表后再删除,以便查看数据入库不通过的历史轨迹);否则,写入一条系统检查通过的日志记录。再进行另一张表的系统检查,所有库表全部检查后,若有错误,系统给出错误提示信息。

五、拓扑检查

航空物探解释数据和评价数据为空间要素类数据,入库时要进行拓扑检查(表5-6,图5-10)。检查各要素类之间相互位置关系的正确性。

以油气远景评价数据集为例说明拓扑检查。检查规则是局部构造异常位置应位于油气远景评价区的某一分布区内,油气远景评价区之间不以有重叠。若发现错误,把检查的错误日志暂存在内存中,继续进行拓扑检查;检查完成后,把错误写入检查日志表。没有发现拓扑错误写入一条通过拓扑检查的日志记录。

表5-7 解释数据和评价数据拓扑检查规则表

图5-10 拓扑检查空间数据源列表界面

六、文件比较检查

通过入库后系统检查和拓扑检查的入库数据,系统将对其进行与原数据文件比较检查,保证数据的一致性。所有的入库数据均须与原数据文件进行比较检查。

根据项目标识号和库表名从采集库中提取相应的数据,若存在数据字典代码,则将其替换文字字符,存放在Oracle临时表中;打开本地路径下原数据文件,逐条记录对比。若有不匹配的记录,显示提示信息,并在日志库中写一条检查日志。

七、人工检查与复核

经过系统检查、空间拓扑检查,以及文件比较检查后,还必须进行人工检查和人工复核检查。人工检查是用原表格数据、空间属性数据、解释评价数据、图件、文字报告(含软件源代码)与采集库中相应的各类数据进行人工比对。若有原始纸质图件,则需从采集库中提取相应的数据使用相同软件相同绘图参数绘图,并加以比较。若人工检查发现错误,写明错误原因(图5-11),保存日志。

图5-11 填写人工检查结果界面

人工复核检查与人工检查过程完成一样,只是人员不同。

八、系统归档检查

在入库数据归档到资料库之前,系统对归档项目数据的完整性进行检查,即归档检查。系统根据归档项目的类别、工作性质、测量方法及归档阶段,定义了项目资料归档对照表,该表记录每类项目各个归档阶段的项目资料清单和资料的归档标识。在资料归档时,系统检查项目资料的归档标识。若为非空,说明该资料必须归档;若为空,说明该资料可归档,从而保证了数据库中的项目资料完整性。

如区域航空磁力勘查项目资料归档分为3个阶段(图5-12),第一阶段是生产测量资料归档,航空磁力勘查项目概况(项目概况、勘查项目概况、航磁概况)信息、测区信息生产报告必须归档。第二阶段是数据处理资料归档,航迹线数据、航磁数据、数据处理报告必须归档。第三阶段是地质解释资料归档,项目概况信息、岩石磁性数据、图件数据、文字数据、断裂构造和区域构造单元必须归档。

科研项目资料归档时,根据项目标识号及项目级次,确定该项目是否有子项目,以及子项目资料是否已全部归档。在所有子项目资料全部归档后,使用项目资料归档向导(图5-13)进行该级次的项目资料归档。如果项目属保密项目,系统同时对归档数据进行加密。数据成功归档后,系统删除采集库中已归档数据,并把各种检查日志存放到备份日志表中,以备检查。

图5-12 勘查项目资料归档示意图

图5-13 项目资料归档向导

任何一个经济组织或社会组织在发展过程中都会产生大量的数据,并且还会关注许多与之相关的数据,它们需要对这些数据进行存储、并按照一些特定的规则对这些数据进行分析、整理,从而保证自己的工作有序进行、提高效率、提高竞争力。所谓数据库应用系统,就是为支持一个特定目标,把一个个人、一个组织、一个地方的与该目标相关的数据以某种数据模型进行存储,并围绕这一目标开发的应用程序。通常把这些数据、数据模型以及应用程序的整体称为一个数据库应用系统。

数据库应用系统的开发过程一般包括需求分析、系统初步设计、系统详细设计、编码、调试、系统切换等几个阶段,每阶段应提交相应的文档资料,包括《需求分析报告》、《系统初步设计报告》、《系统详细设计报告》、《系统测试大纲》、《系统测试报告》以及《 *** 作使用说明书》等。但根据应用系统的规模和复杂程度不同,在实际开发过程中往往有一些相应的灵活处理,有时候把两个甚至三个过程合并进行,不一定完全刻板地遵守上述的过程,产生这样多的文档资料,但是不管所开发的应用系统的复杂程度如何,这个过程中的需求分析、系统设计、编码一调试一修改是不可缺少的。

1.需求分析

这一阶段的基本任务简单说来有两个,一是摸清现状,二是理清将要开发的目标系统应该具有哪些功能。具体说来,摸清现状就要做深入细致的调查研究、摸清人们现在完成任务所依据的数据(使用了什么台账、报表、凭证)及其联系、使用什么规则(上级有什么法律和政策规定、本单位或地方有哪些规定、以及有哪些得到公认的规则等)、对这些数据进行什么样的加工、加工结果以什么形式(报表、工作任务单、台账、图表等)表现;理清目标系统的功能就是要明确说明系统将要实现的功能,也就是明确说明目标系统将能够对人们提供哪些支持。需求分析完成后,应撰写《需求分析报告》并请项目委托单位签字认可,以作为下阶段开发方和委托方共同合作的依据。

2.系统设计

在明确了现状与目标后,还不能马上就进入程序设计(编码)阶段,而先要对系统的一些问题进行规划和设计,这些问题包括:设计工具和系统支撑环境的选择(选择哪种数据库、哪几种开发工具、支撑目标系统运行的软硬件及网络环境等)、怎样组织数据(也就是数据库的设计,即设计表的结构、字段约束关系、字段问的约束关系、表间约束关系、表的索引等)、系统界面的设计(菜单、表单等)、系统功能模块的设计;对一些较为复杂的功能,还应该进行算法设计。这一部分工作完成后,要撰写《系统设计报告》,在《系统设计报告》中,要以表格的形式详细列出目标系统的数据模型,并列出系统功能模块图、系统主要界面图,以及相应的算法说明。《系统设计报告》既作为系统开发人员的工作指导,也是为了使项目委托方在系统尚未开发出来时即能认识目标系统,从而及早的发现问题,减少或防止项目委托方与项目开发方因对问题认识上的差别而导致的返工。同样,《系统设计报告》也需得到项目委托方的签字认可。

3.系统实现(编码、调试)

这一阶段的工作任务比较明确,就是依据前两个阶段的工作,具体建立数据库和表,定义各种约束,并录入部分数据;具体设计系统菜单、系统表单、定义表单上的各种控制对象、编写对象对不同事件的响应代码、编写报表和查询等。

4.测试

测试阶段的任务就是验证系统设计中所设置的功能能否稳定准确地运行、这些功能是否全面地覆盖并正确地完成了委托方的需求,从而确认系统是否可以交付运行。测试工作一般由项目委托方或由项目委托方指定第三方进行。在系统实现阶段,一般说来设计人员会进行一些测试工作,但这是由设计人员自己进行的局部的验证工作,重点是检测程序有无逻辑错误,与前面所讲的系统测试在测试目的、方法及全面性等方面还是有很大的差别的。

为使测试阶段顺利进行,测试前应编写一份《测试大纲》,详细描述每一个测试模块的测试目的、测试用例、测试环境、步骤、测试后所应该出现的结果。对一个模块可安排多个测试用例,以能较全面完整地反映系统的实际运行情况。测试过程中应进行详细记录,i贝0试完成后要撰写《系统测试报告》,对应用系统的功能完整性、稳定性、正确性以及使用是否方便等方面给出评价。

5.系统交付

这一阶段的工作主要有两个方面,一是全部文档的整理交付,二是对所完成的软件(数据、程序等)打包并形成发行版本,使用户在满足系统所要求的支撑环境的任一台计算机上按照安装说明就可以安装运行。

本章以一个公司的工资管理系统为例,来说明一个数据库应用系统的基本开发过程。系统设计要求是:

(1)能适应公司不同的员工工资计算与考核方法。

(2)能自动生成并打印员工个人工资单和公司工资发放汇总表。

(3)工资数据要求保存5年时间,并随时能够查询5年内的工资历史数据。

数据库设计包括六个主要步骤:

1、需求分析:了解用户的数据需求、处理需求、安全性及完整性要求;

2、概念设计:通过数据抽象,设计系统概念模型,一般为E-R模型;

3、逻辑结构设计:设计系统的模式和外模式,对于关系模型主要是基本表和视图;

4、物理结构设计:设计数据的存储结构和存取方法,如索引的设计;

5、系统实施:组织数据入库、编制应用程序、试运行;

6、运行维护:系统投入运行,长期的维护工作。

以上就是关于数据入库质量控制的方法实现全部的内容,包括:数据入库质量控制的方法实现、数据库应用系统的开发步骤、简述数据库设计的要求等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9509097.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存