一、规范数据入库流程
规范化的 *** 作流程是避免 *** 作错误产生的有效手段。据此,对航空物探数据入库过程中的数据质量检查内容和方法进行了分析,归纳出系统检查9项和拓扑检查5项(表5-5)。考虑到在数据入库过程中,需要给数据采集人员授予数据库数据编辑和删除权限(以便编辑录入的错误数,删除导入的不正确数据),在编辑或删除数据库数据时,有可能错误地编辑或删除已归档数据,破坏归档数据的完整性和正确性等因素,提出了航空物探数据库入库数据质量检查的规范化流程(图5-2)。
表5-5 入库数据系统检查和拓扑检查
1)创建项目,在数据入库前先创建项目,按项目导入或录入数据。
2)入库前系统检查,导入或录入的入库数据必须通过系统的入库前检查(数据唯一性、数据类型、缺项检查),才能保存到采集库中。
3)数据进入采集库后,须接受入库后系统检查。若是空间数据必须接受拓扑检查,再与原数据文件进行逐字节比较检查,均通过后,进人工检查。
4)人工检查与人工复核,对项目概况数据、空间要素类数据(图形和属性)、文字数据、图件数据、可制成图件的对象类数据应进行人工检查与人工复核。检查方法是人工比对。该方法劳动强度大,检查人员要有较强的责任心才能发现其中的错误。人工检查与人工复核的工作内容相同,系统要求人工检查与人工复核必须由不同人员完成,加强数据检查力度,尽量消除人为因素造成的错误。
图5-2 规范化的数据入库流程
5)系统归档检查,对入库数据的非空字段进行的检查。系统归档检查通过后,入库数据可归档存入资料库。
经测试,严格按照该数据入库流程开展数据入库工作。航空物探资料库数据与入库前原数据文件数据的一致性可达100%。
该流程将入库数据与资料库数据分离,单独建立一个数据采集数据库(简称“采集库”),把待入库数据暂存在采集库中。入库数据在采集库中接受各项质量检查和编辑,或删除 *** 作,直至达到数据入库质量要求,归档进入资料库(进入资料库的数据除数据库管理员外其他用户是无权对其实施编辑或删除 *** 作的),保证资料库数据的一致性和完整性,为整体提高航空物探数据库的质量提供了保障。
二、规则化数据检查方法
50多年来航空物探取得大量的基础资料和成果资料,这些资料在地学基础研究、油气资源评价等领域发挥的重要作用日益显现。人们越来越重视利用航空物探资料来解决所遇到的地质问题等,同时人们也很想了解所用资料的来源、质量等信息(如资料的测量年代、测量方法、仪器精度、飞行高度、定位精度,数据处理方法等),来评价问题解决的可信度。这也正是本信息系统建设者想要给用户提供的。历史已既成事实,许多与资料质量有关的信息,例如在使用数字收录以前有不少项目的测量仪器精度、飞行高度、定位精度等现已处可寻。
过去的不足证明现在的进步,尊重历史尽力适应未来的技术发展,是本信息系统建设所遵循的宗旨。因此,根据资料的实际情况,提出了入库数据有效性检查的规则化方法,较好地解决了不同年代资料信息不齐全的数据入库质量检查问题。
按照通常做法,在软件代码中直接编写出每个数据库表需要做检查字段的有效性检查代码。
//通常方法的数据进行质量检查
//选择表名,分别为每个表编写检查代码
Switch(表名)
{
Case表名1:
检查数据//获取表的检查数据
Switch(表字段名)
{
Csae表字段1://如字段检查项包括非空检查、范围检查等
//依据不同检查规则检查数据
If(检查数据[表字段1]!=空)…//非空检查
…//其他检查
If((检查数据[表字段1]>值1)&&(检查数据[表字段1]<值n))//范围检查
Break;
…//对应不同字段名
Csae表列名n:
…//对应字段数据检查
Break;
}
Break;
…//对应不同表数据检查
Csae表名n:
…//对应表数据检查
Break;
}
本系统采用规则化方法检查入库数据。在完成数据库结构设计之后,针对每张数据库表中每个字段制定了入库数据正确性的检查规则,建立动态检查规则表,针对不同的检查规则编写检查函数,从数据库中获取被检查表数据库字段的检查规则,对入库数据进行检查的。规则化方法代码实现的示例如下:
//本系统对表数据进行质量检查
获取检查数据//检查数据包括表名、字段名、数据
获取规则数据//检查规则包括字段名、检查类型等
获取规则值数据//检查规则对应的值
//依据不同检查规则检查数据
Switch(规则数据[检查规则])
{
Case检查规则规则1://非空检查
If(检查数据[检查字段名]!=空)……
Break;
…//其他检查规则
Csae检查规则规则n://选择范围检查
If(规则值数据is包含检查数据[检查字段名])…
Break;
}
系统检查采用传统检查方法实现代码量约15345行(表5-6),代码开发工作量很大,且灵活性差,不利于后期代码维护和扩展,如添加表或表添加检查字段后都需要对代码进行重新修改和编译。而本系统的规则化方法代码量仅495行(表5-6),只有传统检查方法代码的322%,且添加表或表添加检查字段后不需要修改代码;用户在数据入库时,根据实际需要直接修改检查规则表即可。
表5-6 系统检查两种实现方式代码量对比表
数据库数据质量是数据库的生命,再好的入库数据质量控制的方法,如果得不能贯彻和执行,也不能保证入库数据的正确性。所以,基于上述入库数据质量控制思想,研发了航空物探数据库数据采集软件(图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和100 h范围,若超过此范围,调机小时数据有错误。
选择范围检查:入库数据指定字段的数值必须是一个已知数据集合的元素之一,如项目成果评价只能在优秀、良好、通过和不合格4个选项中择其一。
根据选定的库表名提取该库表各个字段的检查规则,逐条记录进行前后数据检查、相关检查、值域范围检查、选择范围检查。发现错误,把错误记录暂存在内存中,继续进行下条记录检查,至所有记录检查完。把错误写入检查日志表(若有相同检查日志记录,则先备份到检查日志备份表后再删除,以便查看数据入库不通过的历史轨迹);否则,写入一条系统检查通过的日志记录。再进行另一张表的系统检查,所有库表全部检查后,若有错误,系统给出错误提示信息。
五、拓扑检查
航空物探解释数据和评价数据为空间要素类数据,入库时要进行拓扑检查(表5-6,图5-10)。检查各要素类之间相互位置关系的正确性。
以油气远景评价数据集为例说明拓扑检查。检查规则是局部构造异常位置应位于油气远景评价区的某一分布区内,油气远景评价区之间不以有重叠。若发现错误,把检查的错误日志暂存在内存中,继续进行拓扑检查;检查完成后,把错误写入检查日志表。没有发现拓扑错误写入一条通过拓扑检查的日志记录。
表5-7 解释数据和评价数据拓扑检查规则表
图5-10 拓扑检查空间数据源列表界面
六、文件比较检查
通过入库后系统检查和拓扑检查的入库数据,系统将对其进行与原数据文件比较检查,保证数据的一致性。所有的入库数据均须与原数据文件进行比较检查。
根据项目标识号和库表名从采集库中提取相应的数据,若存在数据字典代码,则将其替换文字字符,存放在Oracle临时表中;打开本地路径下原数据文件,逐条记录对比。若有不匹配的记录,显示提示信息,并在日志库中写一条检查日志。
七、人工检查与复核
经过系统检查、空间拓扑检查,以及文件比较检查后,还必须进行人工检查和人工复核检查。人工检查是用原表格数据、空间属性数据、解释评价数据、图件、文字报告(含软件源代码)与采集库中相应的各类数据进行人工比对。若有原始纸质图件,则需从采集库中提取相应的数据使用相同软件相同绘图参数绘图,并加以比较。若人工检查发现错误,写明错误原因(图5-11),保存日志。
图5-11 填写人工检查结果界面
人工复核检查与人工检查过程完成一样,只是人员不同。
八、系统归档检查
在入库数据归档到资料库之前,系统对归档项目数据的完整性进行检查,即归档检查。系统根据归档项目的类别、工作性质、测量方法及归档阶段,定义了项目资料归档对照表,该表记录每类项目各个归档阶段的项目资料清单和资料的归档标识。在资料归档时,系统检查项目资料的归档标识。若为非空,说明该资料必须归档;若为空,说明该资料可归档,从而保证了数据库中的项目资料完整性。
如区域航空磁力勘查项目资料归档分为3个阶段(图5-12),第一阶段是生产测量资料归档,航空磁力勘查项目概况(项目概况、勘查项目概况、航磁概况)信息、测区信息生产报告必须归档。第二阶段是数据处理资料归档,航迹线数据、航磁数据、数据处理报告必须归档。第三阶段是地质解释资料归档,项目概况信息、岩石磁性数据、图件数据、文字数据、断裂构造和区域构造单元必须归档。
科研项目资料归档时,根据项目标识号及项目级次,确定该项目是否有子项目,以及子项目资料是否已全部归档。在所有子项目资料全部归档后,使用项目资料归档向导(图5-13)进行该级次的项目资料归档。如果项目属保密项目,系统同时对归档数据进行加密。数据成功归档后,系统删除采集库中已归档数据,并把各种检查日志存放到备份日志表中,以备检查。
图5-12 勘查项目资料归档示意图
图5-13 项目资料归档向导
不会的,估计也就检测一下有没有相同的题目而且都是在你们本校的范围内。大多数论文都是从网上找的资料。一般学校会把毕业论文统一管理不会在网上公布的。只有一些比较专业具有代表价值的才会被公布。
第一页的代码那里,你就Insert Into数据库,然后记住这条记录,在第二页起,用户提交的消息你就Update这条记录,直到最后一页都是这样做。
比如:
第一页:Insert Into TableName(Field1) values(value1)(把这条新插入的记录的id或者主键记录下来)
第二页:Update TableName Set Field2=value2 where Id=记录id
第三页:Update TableName Set Field3=value3 where Id=记录id
……类推
你好,你先去做下库存的校对动作,在去试下,要是还是不行,那你去看下物料收发明细表,去查看下商品的库存出入库情况还有结存情况。
还有就是你要看下商品是否有用到批次或者是保质期之类的,要是有也要去看下,这些也是会影响到审核。
希望以上回复对你有所帮助。。
题主是否想询问“python读取word文档导不入mysql数据库怎么办吗”具体如下:
1、用python先把doc文件转换成docx文件
2、然后读取docx的文件并另存为htm格式的文件
3、python根据bs4获取p标签里的内容,如果段落中有则保存。
以上就是关于数据入库流程全部的内容,包括:数据入库流程、数据入库质量控制的方法实现、求助,每届本科生的毕业设计要不要传到网上数据库中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)