一种关系数据库建库完整性效验方法及装置与流程

文档序号:16855528发布日期:2019-02-12 23:14阅读:177来源:国知局
一种关系数据库建库完整性效验方法及装置与流程

本发明涉及关系数据库技术领域,特别涉及一种关系数据库建库完整性效验方法及装置。



背景技术:

关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数据项的特殊收集体,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库表格。关系数据库的定义造成元数据的一张表格或造成表格、列、范围和约束的正式描述。每个表格(有时被称为一个关系)包含用列表示的一个或更多的数据种类。每行包含一个唯一的数据实体,这些数据是被列定义的种类。当创造一个关系数据库的时候,可以定义数据列的可能值的范围和可能应用于那个数据值的进一步约束。

但是,现有技术中,在建立关系数据库的过程中存在不完整性的技术问题。



技术实现要素:

本发明的目的旨在至少解决所述技术缺陷之一。

为此,本发明的目的在于提出一种关系数据库建库完整性效验方法及装置。

为了实现上述目的,本发明的实施例提供一种关系数据库建库完整性效验方法,包括如下步骤:

步骤s1,在建立关系数据库之前,获取建库的核心要素,生成第一验证文件,并利用hash摘要算法对所述第一验证文件进行处理,生成第一验证码;

步骤s2,采用脚本建库方式或手动建库方式,建立所述关系数据库;

步骤s3,在建立所述关系数据库之后,获取建库后的核心要素,生成第二验证文件,并利用hash摘要算法对所述第二验证文件进行处理,生成第二验证码;

步骤s4,利用所述第一验证码对所述第二验证码进行对比验证,以实现对建库完整性的效验。

进一步,在所述步骤s1和步骤s3中,所述建库的核心要素和建库后的核心要素的类目相同,包括以下一种或多种:表个数、表名、索引名、索引个数、触发器名、触发器个数、字段个数、字段名、字段长度和插入数据条数。

进一步,在所述步骤s2中,采用脚本建库方式建立所述关系数据库,包括:通过数据库客户端执行sql建库脚本,完成建库整个过程,其中,所述建库整个过程包括创建数据库、创建表以及插入数据。采用手动建库方式建立所述关系数据库,包括:不使用sql语句,直接通过数据库客户端视图来创建所述关系数据库。

进一步,在所述步骤s1中,获取建库核心要素的方式根据步骤s2的建库方式的不同分为:手动获取验证要素方式和脚本自动获取验证要素方式,当步骤s2使用手动方式创建数据库,步骤s1则使用手动输入方式获取验证要素;当步骤s2使用脚本自动建库方式,步骤s1则可以使用手动输入方式获取验证要素,或者使用解析脚本获取验证要素即自动获取验证要素;

其中,手动输入核心要素,需要在创建数据库前,确定核心要素,为建库核心要素,采用输入核心要素方式用来作为验证数据完整性验证的基准;

自动获取验证要素方式,即解析脚本获取验证要素方式,通过解析建库脚本获取脚本中的验证要素,用来作为验证数据库完整性验证的基准。

进一步,在所述步骤s3中,获取建库后核心要素,采用数据库链接技术,获取建库后核心验证要素。

本发明实施例还提供一种关系数据库完整性效验装置,包括:第一验证码生成模块、验证文件核心要素获取模块、第二验证码生成模块和对比验证模块,其中,

所述验证文件核心要素获取模块分为:建库前核心要素获取模块和建库后核心要素获取模块,建库前核心要素获取模块,用于采用手动建库方式或脚本建库方式,在建立关系数据库之前获取建库的核心要素,生成第一验证文件;建库后核心要素获取模块,连接建库后的数据库获取建库后的核心要素,生成第二验证文件,其中,当使用手动建库方式,使用手动方式输入核心要素;当使用脚本建库方式,从脚本中自动获取核心要素,或手动输入核心要素;

所述第一验证码生成模块与所述验证文件核心要素获取模块中的建库前核心要素获取模块连接,用于利用hash摘要算法对所述第一验证文件进行处理,生成第一验证码;

所述第二验证码生成模块与所述验证文件核心要素获取模块中的建库后核心要素获取模块连接,用于利用hash摘要算法对所述第二验证文件进行处理,生成第二验证码;

所述对比验证模块用于利用所述第一验证码对所述第二验证码进行对比验证,以实现对建库完整性的效验。

进一步,所述建库的核心要素和建库后的核心要素的类目相同,包括以下一种或多种:表个数、表名、索引名、索引个数、触发器名、触发器个数、字段个数、字段名、字段长度和插入数据条数。

进一步,利用数据库客户端工具采用脚本建库方式建立所述关系数据库,包括:通过数据库客户端执行sql建库脚本,完成建库整个过程,其中,所述建库整个过程包括创建数据库、创建表以及插入数据;

利用数据库客户端工具采用手动建库方式建立所述关系数据库,包括:不使用sql语句,直接通过数据库客户端视图来创建所述关系数据库。

进一步,获取建库核心要素的方式根据建库方式的不同分为:手动获取验证要素方式和脚本自动获取验证要素方式,当使用手动方式创建数据库,则使用手动输入方式获取验证要素;当使用脚本自动建库方式,则可以使用手动输入方式获取验证要素,或者使用解析脚本获取验证要素即自动获取验证要素;

其中,手动输入核心要素,需要在创建数据库前,确定核心要素,为建库核心要素,采用输入核心要素方式用来作为验证数据完整性验证的基准;

自动获取验证要素方式,即解析脚本获取验证要素方式,通过解析建库脚本获取脚本中的验证要素,用来作为验证数据库完整性验证的基准。

进一步,建库后核心要素获取模块获取建库后核心要素,采用数据库链接技术,获取建库后核心验证要素。

根据本发明实施例的关系数据库建库完整性效验方法及装置,通过在建库前生成第一验证码,在建库后生成第二验证码,利用第一验证码对第二验证码进行对比验证,解决现有技术中对关系数据库建库存在不完整性的技术问题,实现对关系数据库建库的完整性效验。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1为根据本发明实施例的关系数据库建库完整性效验方法的流程图;

图2为根据本发明实施例的获取脚本验证要素完整性验证的流程图;

图3为根据本发明实施例的手动获取验证要素完整性验证的流程图;

图4为根据本发明实施例的关系数据库建库完整性效验装置的结构图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

如图1所示,本发明实施例的关系数据库建库完整性效验方法,包括如下步骤:

步骤s1,在建立关系数据库之前,获取建库的核心要素,生成第一验证文件,并利用hash摘要算法对第一验证文件进行处理,生成第一验证码。

在本发明的一个实施例中,建立关系数据库之前,建库的核心要素包括以下一种或多种:表个数、表名、索引名、索引个数、触发器名、触发器个数、字段个数、字段名、字段长度和插入数据条数。

第一验证文件是根据建库前获取建库的核心要素,经过一定规则所组成的文件。然后,利用第一验证文件进行hash摘要算法处理,形成第一验证码。

步骤s2,采用脚本建库方式或手动建库方式,建立关系数据库。

(1)脚本建库:在建库脚本中获取第一验证文件核心要素

如图2所示,在获取脚本验证要素完整性验证流程中采用脚本建库方式建立关系数据库,包括:通过数据库客户端执行sql建库脚本,完成建库整个过程,其中,建库整个过程包括创建数据库、创建表以及插入数据等关键元素。

脚本建库,要求对数据库结构以及sql语法有深入了解,脚本建库是批量的进行数据脚本的执行,完成整个建库流程,执行速度快。

当创建数据时采用数据库脚本方式创建数据库,则采用手动输入方式获取验证要素,或者使用解析脚本获取验证要素即自动获取验证要素。

(2)手动建库:手工输入第一验证文件中的核心要素

如图3所示,在手动获取验证要素完整性验证流程中采用手动建库方式建立关系数据库,包括:不使用sql语句,直接通过数据库客户端视图来创建关系数据库。手动建库,由于是通过视图来创建数据库,操作比较简单,但是执行数据库建库效率比较低。

当创建数据时采用手动建库方式创建数据库,则采取手动输入方式获取验证要素。

步骤s3,在建立关系数据库之后,获取建库后的核心要素,生成第二验证文件,并利用hash摘要算法对第二验证文件进行处理,生成第二验证码。

在本发明的一个实施例中,采用数据库链接技术,获取建库后核心验证要素。其中,数据库链接技术包括:现有的数据库链接技术包含:odbc技术,ole-db技术,ado技术,jdbc技术,odac技术等。

需要说明的是,建库后的核心要素和建库的核心要素的类目相同,包括以下一种或多种:表个数、表名、索引名、索引个数、触发器名、触发器个数、字段个数、字段名、字段长度和插入数据条数等关键元素。

建库后的核心要素和建库的核心要素的类目相同,每个类目下的内容可能相同或不同,需要通过步骤s4进行比对验证。

第二验证文件是建库后获取数据库建库后的核心要素,经过一定规则所组成的文件。即,利用装置获取关系数据库中建库完成后的核心要素,形成第二验证文件。

步骤s4,以第一验证码作为验证完整性的基准,利用第一验证码对第二验证码进行对比验证,验证两者的一致性,以实现对建库完整性的效验。

如图4所示,本发明还提出一种关系数据库完整性效验装置,包括:第一验证码生成模块100、验证文件核心要素获取模块200、第二验证码生成模块300和对比验证模块400。

具体地,验证文件核心要素获取模块200中建库前核心要素获取模块用于采用手动建库方式或脚本建库方式,在建立关系数据库之前获取建库的核心要素,生成第一验证文件。

在本发明的一个实施例中,建立关系数据库之前,建库的核心要素包括以下一种或多种:表个数、表名、索引名、索引个数、触发器名、触发器个数、字段个数、字段名、字段长度和插入数据条数。

第一验证文件是由验证文件核心要素获取模块200中建库前核心要素获取模块根据建库前获取建库的核心要素,经过一定规则所组成的文件。

验证文件核心要素获取模块200中建库后核心要素获取模块连接建库后的数据库获取建库后的核心要素,生成第二验证文件。

需要说明的是,建库后的核心要素和建库的核心要素的类目相同,包括以下一种或多种:表个数、表名、索引名、索引个数、触发器名、触发器个数、字段个数、字段名、字段长度和插入数据条数等关键元素。

建库后的核心要素和建库的核心要素的类目相同,每个类目下的内容可能相同或不同,需要进行比对验证。第二验证文件是由验证文件核心要素获取模块200中建库后核心要素获取模块根据建库后获取数据库建库后的核心要素,经过一定规则所组成的文件。即,利用装置获取关系数据库中建库完成后的核心要素,形成第二验证文件。

在本发明的一个实施例中,当创建数据时采用手动建库方式创建数据库,则采取手动输入方式获取验证要素;当创建数据时采用数据库脚本方式创建数据库,则采用手动输入方式获取验证要素,或者使用解析脚本获取验证要素即自动获取验证要素。

(1)脚本建库

如图2所示,脚本获取验证要素完整性验证流程中,采用脚本建库的方式创建数据库,利用数据库客户端工具采用脚本建库方式建立关系数据库,包括:通过数据库客户端执行sql建库脚本,完成建库整个过程,其中,建库整个过程包括创建数据库、创建表以及插入数据等关键元素。

脚本建库,要求对数据库结构以及sql语法有深入了解,脚本建库是批量的进行数据脚本的执行,完成整个建库流程,执行速度快。

采用数据库脚本方式创建数据库,则采用手动输入方式获取验证要素,或者使用解析脚本获取验证要素即自动获取验证要素。

(2)手动建库

如图3所示,脚本获取验证要素完整性验证流程中,采用手动建库的方式创建数据库,利用数据库客户端工具采用手动建库方式建立关系数据库,包括:不使用sql语句,直接通过数据库客户端视图来创建关系数据库。手动建库,由于是通过视图来创建数据库,操作比较简单,但是执行数据库建库效率比较低。

采用手动建库方式创建数据库,则采取手动输入方式获取验证要素。

第一验证码生成模块100与验证文件核心要素获取模块200中建库前核心要素获取模块连接,利用hash摘要算法对第一验证文件进行处理,生成第一验证码。

第二验证码生成模块300与验证文件核心要素获取模块200中建库后核心要素获取模块连接,利用hash摘要算法对第二验证文件进行处理,生成第二验证码。

在本发明的一个实施例中,采用数据库链接技术,获取建库后核心验证要素。其中,数据库链接技术包括:现有的数据库链接技术包含:odbc技术,ole-db技术,ado技术,jdbc技术,odac技术等。

对比验证模块400用于利用第一验证码对第二验证码进行对比验证,以实现对建库完整性的效验。

根据本发明实施例的关系数据库建库完整性效验方法及装置,通过在建库前生成第一验证码,在建库后生成第二验证码,利用第一验证码对第二验证码进行对比验证,解决现有技术中对关系数据库建库存在不完整性的技术问题,实现对关系数据库建库的完整性效验。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1