CN105550242A - 关系数据库数据处理方法及装置 - Google Patents
关系数据库数据处理方法及装置 Download PDFInfo
- Publication number
- CN105550242A CN105550242A CN201510896943.1A CN201510896943A CN105550242A CN 105550242 A CN105550242 A CN 105550242A CN 201510896943 A CN201510896943 A CN 201510896943A CN 105550242 A CN105550242 A CN 105550242A
- Authority
- CN
- China
- Prior art keywords
- data
- relational database
- database
- class formation
- tables
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种关系数据库数据处理方法及装置,其中,所述方法包括:获取用于表征关系数据库中数据库表结构的结构信息;根据结构信息建立与数据库表结构一一映射的类结构;根据关系数据库的版本注册类结构;获取用于表征处理关系数据库数据的操作指示;通过类结构调用关系数据库中用于表征操作指示的处理方式处理关系数据库中的数据。从而使得面向对象的程序设计方式能够应用到关系数据库中对数据进行处理。
Description
技术领域
本发明涉及数据处理领域,具体涉及一种关系数据库数据处理方法及装置。
背景技术
在软件开发编程中常采用类结构的方式,例如面向对象(ObjectOriented,OO)的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。被越来越多的软件开发者所应用。面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的。
在例如Android环境等一般的移动终端中,其采用的是关系数据库,关系数据库是从数学理论发展而来的。在使用Android系统自带的数据库存储和修改数据时,其实现方式多样、复杂宁乱,导致开发、学习、交流等成本显著变高。由于关系数据库的发展理论(数学理论)与面向对象的发展理论(软件工程基本原则)的理论基础不同,因此,面向对象的应用场景难以应用到关系数据库中。
如何构建面向对象和关系数据库之间的衔接,以将面向对象的开发设计方法应用到关系数据库中,成为亟待解决的问题。
发明内容
本发明要解决的技术问题在于现有技术中面向对象的程序设计难以应用到关系数据库中。
为解决上述问题,根据第一方面,本发明实施例提供一种关系数据库数据处理方法,包括:
获取用于表征关系数据库中数据库表结构的结构信息;根据结构信息建立与数据库表结构一一映射的类结构;根据关系数据库的版本注册类结构;获取用于表征处理关系数据库数据的操作指示;通过类结构调用关系数据库中用于表征操作指示的处理方式处理关系数据库中的数据。
进一步,结构信息包括:数据表中的数据类型和数据名称。
进一步,操作指示包括:查询、删除、增加、插入和更新中的至少一种。
进一步,在根据关系数据库的版本注册类结构和获取用于表征处理关系数据库数据的操作指示之间,还包括:判断关系数据库中是否存在与类结构映射的数据表;如果判断结果为不存在,则在关系数据库中创建与类结构映射的数据表。
进一步,如果判断结果为存在,则判断关系数据库中与类结构映射的数据表中的数据是否存在更新;如果数据表存在更新,则更新数据表中的数据。
根据第二方面,本发明实施例提供一种关系数据库数据处理装置,包括:
结构信息获取单元,用于获取用于表征关系数据库中数据库表结构的结构信息;映射单元,用于根据结构信息建立与数据库表结构一一映射的类结构;注册单元,用于根据关系数据库的版本注册类结构;操作指示获取单元,用于获取用于表征处理关系数据库数据的操作指示;数据处理单元,用于通过类结构调用关系数据库中用于表征操作指示的处理方式处理关系数据库中的数据。
进一步,结构信息包括:数据表中的数据类型和数据名称。
进一步,操作指示包括:查询、删除、增加、插入和更新中的至少一种。
进一步,该关系数据库数据处理装置还包括:第一判断单元,用于判断关系数据库中是否存在与类结构映射的数据表;创建单元,用于在关系数据库中创建与类结构映射的数据表。
进一步,该关系数据库数据处理装置还包括:第二判断单元,用于判断关系数据库中与类结构映射的数据表中的数据是否存在更新;更新单元,用于更新数据表中的数据。
本发明技术方案,具有如下优点:
根据本发明实施例提供的关系数据库数据处理方法和装置,由于根据用于表征关系数据库中数据库表结构的结构信息建立与数据库表结构一一映射的类结构,并在关系数据库中注册该类结构,而后通过该类结构调用关系数据库中用于表征操作指示的处理方式处理关系数据库中的数据,从而使得面向对象的程序设计方式能够应用到关系数据库中对数据进行处理。
作为优选的技术方案,在获取用于表征处理关系数据库数据的操作指示之前,如果关系数据库中不存在与类结构映射的数据表,则在关系数据库中创建与类结构映射的数据表,从而完善了关系数据库中与类结构映射的数据表。
作为优选的技术方案,在获取用于表征处理关系数据库数据的操作指示之前,如果关系数据库中与类结构映射的数据表中的数据存在更新,则更新数据表中的数据,从而能够有效地减小在通过类结构对关系数据库中数据进行处理时导致的误操作概率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种关系数据库数据处理方法流程图;
图2为本发明实施例中另一种关系数据库数据处理方法流程图;
图3为本发明实施例中一种关系数据库数据处理装置结构示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
为了使得向对象的程序设计能够应用到关系数据库中,本发明实施例将对象关系映射(ObjectRelationalMapping,ORM)的思想应用到关系数据库中,本实施例公开了一种关系数据库数据处理方法及装置。
请参考图1,为本实施例公开的一种关系数据库数据处理方法流程图,该关系数据库数据处理方法包括如下步骤:
步骤S100,获取用于表征关系数据库中数据库表结构的结构信息。在具体实施例中,关系数据库通常为移动终端所采用的数据库,例如Android环境下的数据库。关系数据库中具有多个不同的数据库表,本实施例中,需要获取这些数据库表的结构信息,结构信息包括数据表中的数据类型(例如varchar)和数据名称(例如length列)。
步骤S200,根据结构信息建立与数据库表结构一一映射的类结构。所称类结构为能够被面向对象程序所直接操作的结构。本实施例中,类结构的结构信息应与数据库表结构的结构信息一一映射,即每个数据库表对应一个类结构,例如:某数据库表中的字段名称“length”列与类结构中的变量“length”对应;数据库表中名称“length”列的数据类型varchar与类结构中的变量“length”的类型string对应。由此,建立了与数据库表结构一一映射的类结构。
步骤S300,根据关系数据库的版本注册类结构。在建立与各数据库表结构一一映射的类结构之后,在对各类结构进行统一的配置文件中,将类结构进行注册,在注册时,应设置为当前的关系数据库版本。
步骤S400,获取用于表征处理关系数据库数据的操作指示。在具体实施例中,可以封装针对关系数据库操作的绝大多数方式,例如基于各种条件的查询,以及删除、增加、插入和更新等。
步骤S500,通过类结构调用关系数据库中用于表征操作指示的处理方式处理关系数据库中的数据。在具体实施例中,由于已经封装了针对关系数据库绝大多数的操作,因此,可以通过类结构的调用针对数据库的各种操作,而无需关心关系数据库内部的具体操作。具体地,上层使用该数据库封装层,只需要知道提供的数据库操作指示,对类结构进行相应的操作例如查询、删除、增加、插入和更新等操作,即可实现对关系数据库相应的查询、删除、增加、插入和更新等操作。
为了避免关系数据库中缺少与类结构映射的数据表,在优选的实施例中,在执行步骤S300和步骤S400之间,还包括如下步骤:
步骤S600,判断关系数据库中是否存在与类结构映射的数据表。
如果判断结果为不存在,则在关系数据库中创建与类结构映射的数据表。具体地,可以根据注册的类结构,通过反射的方式,建立相应的关系数据库表结构。
在优选的实施例中,如果判断结果为存在,请参考图2,则在执行步骤S400之前,还可以包括如下步骤:
步骤S700,判断关系数据库中与类结构映射的数据表中的数据是否存在更新。
如果数据表存在更新,则更新数据表中的数据。具体地,有表结构更新,此时,需要改变下配置文件中数据库版本,当检测到新的版本后,自动将更新的内容添加到数据库表结构中,在具体实施例中,也可以是更新数据库表结构中某一或者多个字段的内容。
本实施例还公开了一种关系数据库数据处理装置,请参考图3,该关系数据库数据处理装置包括:结构信息获取单元100、映射单元200、注册单元300、操作指示获取单元400和数据处理单元500,其中:
结构信息获取单元100用于获取用于表征关系数据库中数据库表结构的结构信息;映射单元200用于根据结构信息建立与数据库表结构一一映射的类结构;注册单元300用于根据关系数据库的版本注册类结构;操作指示获取单元400用于获取用于表征处理关系数据库数据的操作指示;数据处理单元500用于通过类结构调用关系数据库中用于表征操作指示的处理方式处理关系数据库中的数据。
在优选的实施例中,结构信息包括:数据表中的数据类型和数据名称。操作指示包括:查询、删除、增加、插入和更新中的至少一种。
在优选的实施例中,该关系数据库数据处理装置还包括:第一判断单元,用于判断关系数据库中是否存在与类结构映射的数据表;创建单元,用于在关系数据库中创建与类结构映射的数据表。
在优选的实施例中,该关系数据库数据处理装置还包括:第二判断单元,用于判断关系数据库中与类结构映射的数据表中的数据是否存在更新;更新单元,用于更新数据表中的数据。
本发明实施例提供的关系数据库数据处理方法和装置,由于根据用于表征关系数据库中数据库表结构的结构信息建立与数据库表结构一一映射的类结构,并在关系数据库中注册该类结构,而后通过该类结构调用关系数据库中用于表征操作指示的处理方式处理关系数据库中的数据,从而使得面向对象的程序设计方式能够应用到关系数据库中对数据进行处理。
作为优选的实施例,在获取用于表征处理关系数据库数据的操作指示之前,如果关系数据库中不存在与类结构映射的数据表,则在关系数据库中创建与类结构映射的数据表,从而完善了关系数据库中与类结构映射的数据表。
作为优选的实施例,在获取用于表征处理关系数据库数据的操作指示之前,如果关系数据库中与类结构映射的数据表中的数据存在更新,则更新数据表中的数据,从而能够有效地减小在通过类结构对关系数据库中数据进行处理时导致的误操作概率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (10)
1.一种关系数据库数据处理方法,其特征在于,包括如下步骤:
获取用于表征关系数据库中数据库表结构的结构信息;
根据所述结构信息建立与所述数据库表结构一一映射的类结构;
根据所述关系数据库的版本注册所述类结构;
获取用于表征处理关系数据库数据的操作指示;
通过所述类结构调用所述关系数据库中用于表征所述操作指示的处理方式处理所述关系数据库中的数据。
2.如权利要求1所述的关系数据库数据处理方法,其特征在于,所述结构信息包括:数据表中的数据类型和数据名称。
3.如权利要求1或2所述的关系数据库数据处理方法,其特征在于,所述操作指示包括:查询、删除、增加、插入和更新中的至少一种。
4.如权利要求1-3任意一项所述的关系数据库数据处理方法,其特征在于,在所述根据所述关系数据库的版本注册所述类结构和所述获取用于表征处理关系数据库数据的操作指示之间,还包括:
判断所述关系数据库中是否存在与类结构映射的数据表;
如果判断结果为不存在,则在所述关系数据库中创建与所述类结构映射的数据表。
5.如权利要求4所述的关系数据库数据处理方法,其特征在于,
如果所述判断结果为存在,则判断所述关系数据库中与所述类结构映射的数据表中的数据是否存在更新;
如果所述数据表存在更新,则更新所述数据表中的数据。
6.一种关系数据库数据处理装置,其特征在于,包括:
结构信息获取单元,用于获取用于表征关系数据库中数据库表结构的结构信息;
映射单元,用于根据所述结构信息建立与所述数据库表结构一一映射的类结构;
注册单元,用于根据所述关系数据库的版本注册所述类结构;
操作指示获取单元,用于获取用于表征处理关系数据库数据的操作指示;
数据处理单元,用于通过所述类结构调用所述关系数据库中用于表征所述操作指示的处理方式处理所述关系数据库中的数据。
7.如权利要求6所述的关系数据库数据处理装置,其特征在于,所述结构信息包括:数据表中的数据类型和数据名称。
8.如权利要求6或7所述的关系数据库数据处理装置,其特征在于,所述操作指示包括:查询、删除、增加、插入和更新中的至少一种。
9.如权利要求6-8任意一项所述的关系数据库数据处理装置,其特征在于,还包括:
第一判断单元,用于判断所述关系数据库中是否存在与类结构映射的数据表;
创建单元,用于在所述关系数据库中创建与所述类结构映射的数据表。
10.如权利要求6-9任意一项所述的关系数据库数据处理装置,其特征在于,还包括:
第二判断单元,用于判断所述关系数据库中与所述类结构映射的数据表中的数据是否存在更新;
更新单元,用于更新所述数据表中的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510896943.1A CN105550242A (zh) | 2015-12-08 | 2015-12-08 | 关系数据库数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510896943.1A CN105550242A (zh) | 2015-12-08 | 2015-12-08 | 关系数据库数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105550242A true CN105550242A (zh) | 2016-05-04 |
Family
ID=55829431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510896943.1A Pending CN105550242A (zh) | 2015-12-08 | 2015-12-08 | 关系数据库数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105550242A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019266A (zh) * | 2017-10-30 | 2019-07-16 | 北京国双科技有限公司 | 一种sql语句的生成方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090248739A1 (en) * | 2008-03-28 | 2009-10-01 | Feng Cao | System and Method to Support Runtime Model Extension in an Object Relational Mapping (ORM) System |
CN101794315A (zh) * | 2010-03-31 | 2010-08-04 | 袁梅宇 | 一种数据库模式固定的对象关系映射模型 |
CN102253975A (zh) * | 2011-06-16 | 2011-11-23 | 上海博康智能网络科技有限公司 | 一种数据库自动转换系统及方法 |
CN102841889A (zh) * | 2011-06-20 | 2012-12-26 | 中兴通讯股份有限公司 | 一种基于orm架构的高效数据库访问的实现方法及装置 |
CN104317964A (zh) * | 2014-11-14 | 2015-01-28 | 中国建设银行股份有限公司 | 一种基于iBatis的对象关系映射方法及系统 |
CN104731911A (zh) * | 2015-03-24 | 2015-06-24 | 浪潮集团有限公司 | 一种数据表与实体类的动态映射及转换方法 |
-
2015
- 2015-12-08 CN CN201510896943.1A patent/CN105550242A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090248739A1 (en) * | 2008-03-28 | 2009-10-01 | Feng Cao | System and Method to Support Runtime Model Extension in an Object Relational Mapping (ORM) System |
CN101794315A (zh) * | 2010-03-31 | 2010-08-04 | 袁梅宇 | 一种数据库模式固定的对象关系映射模型 |
CN102253975A (zh) * | 2011-06-16 | 2011-11-23 | 上海博康智能网络科技有限公司 | 一种数据库自动转换系统及方法 |
CN102841889A (zh) * | 2011-06-20 | 2012-12-26 | 中兴通讯股份有限公司 | 一种基于orm架构的高效数据库访问的实现方法及装置 |
CN104317964A (zh) * | 2014-11-14 | 2015-01-28 | 中国建设银行股份有限公司 | 一种基于iBatis的对象关系映射方法及系统 |
CN104731911A (zh) * | 2015-03-24 | 2015-06-24 | 浪潮集团有限公司 | 一种数据表与实体类的动态映射及转换方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019266A (zh) * | 2017-10-30 | 2019-07-16 | 北京国双科技有限公司 | 一种sql语句的生成方法及装置 |
CN110019266B (zh) * | 2017-10-30 | 2021-06-29 | 北京国双科技有限公司 | 一种sql语句的生成方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9760589B2 (en) | Mechanism for deprecating object oriented data | |
CN108027722A (zh) | 在编译和部署中动态更新应用 | |
CN107665122B (zh) | 一种土建bim模型的自动更新方法 | |
CN109446570B (zh) | 业务流程展示方法、装置、计算机设备以及存储介质 | |
CN105117261B (zh) | 增强的升级路径 | |
Ninić et al. | An integrated platform for design and numerical analysis of shield tunnelling processes on different levels of detail | |
CN105117621A (zh) | 代码混淆的控制流平展化 | |
CN110515620B (zh) | 一种自动化资源处理方法及系统 | |
CN113934684B (zh) | 一种数据格式自动转换方法、装置、电子设备及存储介质 | |
CN111158715A (zh) | 灰度发布控制方法及系统 | |
CN103176838A (zh) | 兼容Android本机程序的方法及系统 | |
CN107368353A (zh) | 一种实现虚拟机内存热添加的方法和装置 | |
CN104461621A (zh) | 一种更新属性信息的方法及装置 | |
CN106951593B (zh) | 一种生成保护测控装置的配置文件的方法和装置 | |
CN109976744B (zh) | 一种可视化编程方法、系统及终端设备 | |
CN105550242A (zh) | 关系数据库数据处理方法及装置 | |
CN103885784A (zh) | 具有安全模块可插拔功能的Android平台构建方法 | |
CN102681861A (zh) | 安装软件的方法和装置 | |
CN106294530A (zh) | 规则匹配的方法和系统 | |
CN106815004B (zh) | 一种兼容不同Cocos2d-x版本的方法 | |
CN106547528B (zh) | 一种界面布局方法以及装置 | |
CN112307589B (zh) | 单位工况创建方法、装置、电子设备及存储介质 | |
CN108845791B (zh) | 应用程序代码开发处理方法及装置、可读存储介质、终端 | |
CN110674090A (zh) | 一种资源文件处理方法和装置 | |
CN108289250B (zh) | 机顶盒操作系统管理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160504 |