一种用于数据库的数据管理方法及其数据库应用组件与流程

文档序号:14967442发布日期:2018-07-20 11:16阅读:255来源:国知局

本发明涉及数据库管理方法,具体涉及一种用于数据库的数据管理方法及其数据库应用组件。



背景技术:

在当今的信息化社会中,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。将各类信息资源进行数值量化和分类汇总,汇总之后的信息即可形成数据库,而数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。

数据库是储存在计算机内、有组织的、可共享的数据集合,数据库中的数据以一定的数据模型组织、描述和储存在数据库表内,为充分利用数据库表的存储资源,往往要求所存储的数据应当具有较小的冗余度、较高的数据独立性和易扩展性的特点,往往将所存储的数据按照自身属性以字段的形式存储在数据库表中。

随着信息技术和市场的发展,数据存储已成为数据库的基本功能,而数据组织成为数据库进行数据管理的关键。为便于用户对所需要的各种数据进行存储和管理,在数据库的管理程序中通常使用sql语句(即结构化查询语言)对数据库表进行查询、修改、增加和删除等操作。当前的数据库管理程序中存在大量的sql语句,这些sql语句由开发者自定义编写并经过一系列调试工作后确定,不具备通用性的应用要求,从而使得应用软件的数据库管理程序中包括大量的冗余代码,在程序开发过程中增大了开发难度,在程序调试过程中延长了调试周期,在程序使用过程中限制了程序的扩展能力。



技术实现要素:

本发明主要解决的技术问题是如何提升数据库管理程序的开发效率。为解决上述问题,本发明提供了一种用于数据库的数据管理方法及其数据库应用组件。

一种用于数据库的数据管理方法,包括以下步骤:获取实体类和数据库表的实体对应关系;获取实体类属性名称和数据库表字段名称的名称对应关系;获取实体类属性值和数据库表字段值的数值对应关系;根据所述实体对应关系、所述名称对应关系和所述数值对应关系生成sql语句;执行所述sql语句获得管理结果集;将所述管理结果集反射到所述数据库表中。

一种用于实现数据管理的数据库应用组件,包括:关系获取模块,所述关系获取模块用于获取实体类和数据库表的实体对应关系,用于获取实体类属性名称和数据库表字段名称的名称对应关系,用于获取实体类属性值和数据库表字段值的数值对应关系;sql语句生成模块,所述sql语句生成模块用于根据所述实体对应关系、所述名称对应关系和所述数值对应关系生成sql语句;管理结果集获取模块,所述管理结果集获取模块用于执行所述sql语句并获得管理结果集;数据反射模块,所述数据反射模块用于将所述管理结果集反射到所述数据库表中。

一种数据库应用组件,包括:存储器,用于存储程序;处理器,用于通过执行所述存储器存储的程序以实现上述的用于数据库的数据管理方法。

依据上述实施例的一种用于数据库的数据管理方法及其数据库应用组件,利用关系获取模块获取实体类和数据库表之间的实体对应关系、名称对应关系和数值对应关系,利用sql语句生成模块得到用于处理实体类与数据库表之间、实体类属性名称与数据库表字段名称之间以及实体类属性值与数据库表字段值之间的关联关系的sql语句,利用管理结果集获取模块得到sql语句的执行结果,利用数据反射模块实现数据库表的新增、修改、删除、查询等交互操作。数据库应用组件利用实体类与数据库表之间的对应关系自动生成sql语句,而不需要用户自定义编写对数据库表进行操作的sql语句,进而达到快速地编写应用软件代码的目的,有效避免数据库管理程序中大量存在冗余代码的现象,从而提高数据库管理程序的开发效率。

附图说明

图1为实施例一数据库应用组件的结构示意图;

图2为实施例二数据新增方法的流程示意图;

图3为实施例三数据修改方法的流程示意图;

图4为实施例四实体类代码生成方法的流程示意图;

图5为实施例五数据删除方法的流程示意图;

图6为实施例六数据查询方法的流程示意图;

图7为实施例七另一种数据查询方法的流程示意图。

具体实施方式

下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。

另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。

本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。

数据库表,是指数据库中用于存储数据的表单,一个数据库可以包括一个或者多个数据库表,数据库表包括众多用于存储数据的字段,每个字段具有相应的字段属性和相应的字段值,存入字段的数据应当符合该字段的属性,例如,“张三”是字段值,那么该字段值的字段属性是“姓名”。

实体类,是指具有具体数据的对象,一组数据的集合就是一个实体类。实体类包括众多用于存储数据的属性,每个属性具有属性名称和属性值,属性值应当满足属性名称的要求,属性名称包括字符型、文本型、数值型、逻辑型或者日期型以及姓名、月份、编号等属性。

sql语句(structuredquerylanguage),是指数据库管理中的结构化查询语言,是一种具有特殊用途(数据库查询和程序设计)的编程语言,用于存取数据以及查询、更新和管理关系数据库系统。sql语句包括各种具有特定功能的函数命令,可以对字符型、文本型、数值型、逻辑型和日期型的数据进行管理(包括新增、修改、删除、绑定、查询等操作)。

实施例一、一种用于实现数据管理的数据库应用组件,如图1所示。

在本实施例中,数据库应用组件103与实体类101总线连接,数据库应用组件可生成实体类101以进行数据暂存,还可以与实体类101进行数据交互,数据交互过程主要是将数据存入实体类101的属性之中或者是从实体类101的属性中读取数据。数据库应用组件103与数据库表105总线连接,可以从数据库表105中读取各字段的数据,也可以将数据写入数据库表105的相应字段中。

在本实施例中,数据库应用组件103包括关系获取模块1031、sql语句生成模块1032、管理结果集获取模块1033和数据反射模块1034。关系获取模块1031与实体类101、数据库表105总线连接,可以获取实体类101中的属性和数据库表105中的字段,因此,关系获取模块1031用于获取实体类和数据库表的实体对应关系,用于获取实体类属性名称和数据库表字段名称的名称对应关系,用于获取实体类属性值和数据库表字段值的数值对应关系。sql语句生成模块1031与关系获取模块1031总线连接,用于根据关系获取模块1031中得到的实体对应关系、名称对应关系和数值对应关系生成sql语句。管理结果集获取模块1033与sql语句生成模块1032总线连接,用于执行sql语句生成模块1032生成的sql语句并获得管理结果集。数据反射模块1034与管理结果集获取模块1033总线连接,用于将管理结果集获取模块1033中得到的管理结果集反射到所述数据库表中,即根据各个管理对象的管理命令对数据库表105中的对应字段进行操作。

在本实施例中,该管理结果集是所管理对象(管理对象是指新增的数据、修改的数据、删除的数据或者查询的数据)的集合,包括各管理对象的名称、数值以及管理命令(管理命令是指新增、修改、删除或者查询等命令)。管理结果集分为新增结果集、修改结果集、删除结果集和查询结果集,这些数据集分别包括数据库表的新增数据、修改数据、删除数据和查询数据。各个结果集由不同的sql语句得到,新增结果集由新增sql语句的执行结果得到,修改结果集由修改sql语句的执行结果得到,删除结果集由删除sql语句的执行结果得到,查询结果集由查询sql语句的执行结果得到。

在本实施例中,数据库应用组件103采用oracle数据库组件,oracle数据库组件是oracle公司(甲骨文公司)提供的一个工具程序,包括sql语言开发环境以及sql语言操作函数。在管理数据库时,sql语言操作函数无需用户自定义编写,直接调用相关的操作函数即可实现对数据库表的管理操作。

实施例二、一种用于数据库的数据管理方法,如图2所示。

在本实施例中,该数据管理方法主要是指利用数据库应用组件完成数据库表的新增数据的操作。具体操作步骤如下:

s2031,构建属性名称与字段名称的名称对应关系。

见图2,数据库应用组件203包括图1中所示的关系获取模块1031、sql语句生成模块1032、管理结果集获取模块1033和数据反射模块1034。数据库应用组件203接收到用户的新增数据命令,需要将新增数据表202中的数据写入数据库表205中,数据库应用组件203首先生成实体类201,然后将新增数据表202中的各个数据赋值给实体类201中各个属性,其中,属性1包括属性名称和属性值(属性名称是指数据1的自身属性称谓,属性值是指数据1的自身数值),其他属性可参照属性1。由于实体类201包括数据库表205的所有新增数据的内容,所以,关系获取模块1031将建立实体类201和数据库表205之间的实体对应关系(图2中未标注),该实体对应关系表明实体类和数据库表之间存在实体内容上的关联性(实体内容包括数据值或者数据的属性名称)。

关系获取模块1031从实体类201中获取属性1,根据属性1的属性名称查询数据库表205中相匹配的字段,最终确定字段1的字段名称与属性1的属性名称相同(或者是实质上表示相同内容的不同名称),从而建立属性1和字段1的名称对应关系,该名称对应关系表示属性和字段之间具有名称上的关联性。建立其他属性和字段的名称对应关系可以参照属性1和字段1。

s2032,构建属性值与字段值的数值对应关系。

关系获取模块1031从实体类201中获取属性1,根据属性1的属性值查询数据库表205中的字段1是否为空字段,即是否能够满足数据值的新增数据操作。若满足,则建立属性1和字段1的数值对应关系,该数值对应关系表示属性值和字段值之间具有数值上的关联性;若不满足,则继续判断其他同属性名称的字段,直至找到符合条件的字段。

s2033,生成新增sql语句并执行。

sql语句生成模块1032从步骤s2031和步骤s2032中得到实体类201和数据库表205之间所涉及的实体对应关系、名称对应关系和数值对应关系,根据三个对应关系生成新增sql语句,该新增sql语句具有新增数据功能,能够在被执行过程中建立一个新增结果集,该新增结果集是数据库表205的映射表单,具有数据库表205的等同格式,sql语句生成模块1032依次将实体类201中的属性一一录入该新增结果集的相应字段位置,从而使得新增结果集中的属性1和数据库表205中的字段1具有物理地址上的映射关系,其他的属性在新增结果集中的暂存位置可参照属性1。

数据反射模块1034读取新增结果集中的各个属性,根据各属性的映射物理地址将该属性值写入数据库表205的相应字段中,属性1的属性值写入字段1中,其他属性的属性值也依次写入各自对应的字段中。最终使得新增数据表202中的数据1写入数据库表205中的字段1,其他数据也按照数据1被写入相应的字段中,此时,数据库表205中的各新增数据被分拣存储于与自身属性相同的字段名称列表中,增强了数据库表205的数据分类存储能力。

实施例三、一种用于数据库的数据管理方法,如图3所示。

s3031,构建属性名称与字段名称的名称对应关系。

数据库应用组件303接收到用户的修改数据命令,需要将新增数据表302中的数据写入数据库表305中,并替换数据表305中的对应字段。利用关系获取模块1031建立实体类301和数据库表305之间的实体对应关系的操作请参考实施例二中的步骤s2031。

关系获取模块1031从实体类301中获取属性1,根据修改数据命令将属性1指向数据库表中的字段1,判断属性1的属性名称和字段1的字段名称是否数据相同或者相应名称,若满足,则建立属性1和字段1的名称对应关系,若不满足,则报错。

s3032,构建属性值与字段值的数值对应关系。

关系获取模块1031从实体类201中获取属性1,将属性1的属性值与数据库表205中的字段1建立数值对应关系。

s3033,生成新增sql语句并执行。

sql语句生成模块1032从步骤s3031和步骤s3032中得到实体类301和数据库表305之间所涉及的实体对应关系、名称对应关系和数值对应关系,根据三个对应关系生成修改sql语句,该修改sql语句能够在被执行过程中建立一个修改结果集,该修改结果集是数据库表305的映射表单,sql语句生成模块1032依次将实体类301中的属性一一录入该修改结果集的相应字段位置,从而使得新增结果集中的属性1和数据库表305中的字段1具有物理地址上的映射关系,其他的属性在新增结果集中的暂存位置可参照属性1。

数据反射模块1034读取修改结果集中的各个属性,根据各属性的映射物理地址将该属性值写入数据库表205的相应字段中,属性1的属性值写入字段1中,其他属性的属性值也依次写入各自对应的字段中,从而完成数据1替换字段1的数据修改过程。

实施例四、一种用于数据库的数据管理方法,如图4所示。

在数据库中,有些数据库表包括众多具有不同字段名称的字段,当一些字段获得新的的字段名称时,该字段名称将不能被用户准确地识别,也就无法构建实体类和数据库表之间的名称对应关系。本实施例为解决此问题,根据数据库应用组件定制代码生成器,该代码生成器用于为数据库表中新的字段名称设定对应的sql语句。

s4031,读取数据库表字段。

代码生成器403从数据库表405中分别读取字段,从各个字段中获取字段名称和字段值。

s4032,生成实体类属性。

代码生成器403将所获得的各个字段的字段名称与实体类401中的各个属性名称进行匹配,如果两者名称实质上相同,则将该字段名称对应的字段值赋值给该属性,例如,字段1赋值到属性1。

s4033,生成实体类通用代码。

代码生成器403根据实体类中属性1的属性名称确定该属性名称与字段1具有名称对应关系,从而生成表示该名称对应关系的sql语句,该sql语句具有特定功能,如新增数据功能、修改数据功能、删除数据功能或者绑定数据功能。通过这种方式获得的实体类通用代码(即sql语句)有助于丰富数据库应用组件的语句资源,达到更好的数据库操作能力。

实施例五、一种用于数据库的数据管理方法,如图5所示。

在本实施中,数据库应用组件503包括图1中所示的关系获取模块1031、sql语句生成模块1032、管理结果集获取模块1033和数据反射模块1034。数据库应用组件503接收到用户的删除数据命令,需要删除数据库表505中的特点字段。删除数据命令由用户设定,包括预删除字段的主键id(见附图标记5012),该主键id中具有预删除字段的物理存储地址。

s5031,遍历实体类和数据库表之间的对应关系。

关系获取模块1031首先建立实体类5011和数据库表505之间的实体对应关系,然后从实体类5011中获取各个属性(每个属性具有属性名称和属性值,此时各属性值为空),从数据库表505中获取各个字段,构建所有属性和所有字段之间的名称对应关系和数值对应关系。本实施例中,关系获取模块1031根据主键id找到预删除的字段(如字段1至字段4),根据名称对应关系找到字段1对应的属性1(图5中未标记),依次找到其他预删除字段的对应属性。通过上述方式以遍历对应关系的形式找到实体类中与预删除字段相对应的预删除属性。

s5032,生成删除sql语句并执行。

sql语句生成模块1032从步骤s5031中找到实体类中与预删除字段相对应的预删除属性,根据该对应关系生成删除sql语句,该删除sql语句具有删除数据功能,能够在被执行过程中建立一个删除结果集,该删除结果集是数据库表505的映射表单。sql语句生成模块1032依次将实体类5011中的预删除属性一一录入该删除结果集的相应字段位置,从而使得删除结果集中的属性1(图5中未标记)和数据库表505中的字段1具有物理地址上的映射关系,其他的属性在删除结果集中的暂存位置可参照属性1,而且,删除结果集中的各个属性的属性值为空。

数据反射模块1034读取删除结果集中的各个属性,根据各属性的映射物理地址将该属性值写入数据库表505的相应字段中,属性1的属性值写入字段1中,其他属性的属性值也依次写入各自对应的字段中,由于各属性值为空,因此字段1至字段4中的字段值也为空,从而使得字段1至字段4形成了被删除效果。

实施例六、一种用于数据库的数据管理方法,如图6所示。

数据库应用组件603接收到用户的查询数据命令,需要将数据库表605中的预查询字段反射至实体类601之中。

s6031,遍历数据库表和实体类之间的对应关系。

数据库应用组件603生成一实体类601以进行预查询字段的暂存,关系获取模块1031(图6中未标记,请参考图1)首先建立实体类601和数据库表605之间的实体对应关系。

关系获取模块1031根据查询数据命令中的主键id从数据库表605中找到预查询字段的物理位置,获取预查询字段的字段名称和字段值,建立字段1和属性1的名称对应关系和数值对应关系,依次建立其他数据与实体类601中相应属性的名称对应关系和数值对应关系。

s6032,生成查询sql语句并执行。

sql语句生成模块1032根据步骤s6031中建立的三个对应关系生成查询sql语句,该查询sql语句能够在被执行过程中建立一个查询结果集,该查询结果集是数据库表605的映射表单,sql语句生成模块1032依次将数据库表605中的预查询字段一一录入该查询结果集之中,从而使得查询结果集中的字段1和实体类中的属性1具有物理地址上的映射关系,进而得到其他预查询字段与实体类中属性的映射关系。

数据反射模块1034读取查询结果集中的各个预查询字段,根据各数据的映射物理地址将该数据值反射至实体类601的相应属性之中。从而,实体类601中一一存储了数据库表605中的预查询字段。

实施例七、一种用于数据库的数据管理方法,如图7所示。

在数据库中,往往具有多个数据表,而且数据表之间存在字段的关联性,例如数据表1中的关联字段1和数据表2的关联字段2具有关联性,这种关联性通常由用户自定义设定。多表关联记录的数据查询方法如下:

s7031,遍历数据库表和实体类之间的实体对应关系。

数据库应用组件703接收到用户的查询数据命令,需要将数据库表7051中的预查询字段反射至实体类7011之中,而将数据库表7052中的关联字段反射至实体类7012之中。

s7032,建立特定数据库和特定实体类之间的对应关系。

数据库应用组件703生成一实体类7011以进行预查询字段的暂存,关系获取模块1031(图7中未标记,请参考图1)首先建立数据库表7051和实体类7011之间的实体对应关系。

关系获取模块1031根据查询数据命令中的主键id从数据库表7051中找到预查询字段的物理位置,获取预查询字段的字段名称和字段值,建立关联字段1和属性1的名称对应关系和数值对应关系。当关系获取模块1031检测到关联字段1在数据库表7052中存在关联字段2时,数据库应用组件703生成实体类7012以进行数据库表7052中关联字段的暂存,关系获取模块1031获取关联字段2的字段名称和字段值,建立关联字段2和属性2的名称对应关系和数值对应关系。

s7033,构建属性名称与字段名称的名称对应关系。

sql语句生成模块1032根据步骤s7032中建立的名称对应关系和数值对应关系生成查询sql语句,该查询sql语句能够在被执行过程中建立两个查询结果集,两个查询结果集是分别是数据库表7051、数据库表7052的映射表单,sql语句生成模块1032将数据库表7051中的预查询字段(即关联字段1)录入第一查询结果集之中,而将数据库表7052中的关联字段2录入第二查询结果集之中。从而使得第一查询结果集中的字段1和实体类7011中的属性1具有物理地址上的映射关系,使得第二查询结果集中的字段2和实体类7012中的属性2具有物理地址上的映射关系。

数据反射模块1034读取第一查询结果集和第二查询结果集之中的各个预查询字段,根据各字段的映射物理地址将该字段值分别反射至实体类7011和实体类7012之中。进而,实体类7011中存储了数据库表7051中的预查询字段,实体类7012中存储了数据库表7052中的关联字段。

为实现实施例二至实施例七中的任一项数据管理方法,实施例一中还提供了一种数据库应用组件,该数据库应用组件包括:存储器,用于存储程序;处理器,用于通过执行所述存储器存储的程序以实施例二至实施例七中任一项所述的方法。

本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的系统进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。

以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。

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