[发明专利]一种基于通用数据结构描述的实体与关系数据的映射方法在审
申请号: | 201310118264.2 | 申请日: | 2013-04-08 |
公开(公告)号: | CN103246704A | 公开(公告)日: | 2013-08-14 |
发明(设计)人: | 周国庆;孙立新 | 申请(专利权)人: | 浪潮集团山东通用软件有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 通用 数据结构 描述 实体 关系 数据 映射 方法 | ||
技术领域
本发明涉及ERP系统中数据库开发技术领域,特别涉及一种基于通用数据结构描述的实体与关系数据的映射方法。
背景技术
ERP系统的后台数据库一般支持当前主流的关系型数据库:Oracle和SQL Server。数据库厂商为了发挥各自数据库的最佳性能,支持的SQL标准也不尽相同,甚至还有一些特殊优化的SQL语法。这些SQL语法的不同增加了ERP系统的开发复杂度和技术难度。
通常ERP系统后台为了支持多种数据库,要求软件开发人员在开发过程中编写不同数据库间通用的SQL语句,但是很多功能的实现,通用SQL是无法满足实现和性能的需求的。因此,软件开发人员需要同时掌握两种、甚至三种数据库,在系统的开发过程中编写不同数据库对应的SQL语句,以满足支持多种数据库的需求。这种情况下,不仅增加了软件系统的复杂度和开发工作量,而且对软件开发人员提出了更高的要求。因此,对于开发大型企业ERP系统来讲,这很难满足敏捷开发的要求。
发明内容
为了解决现有技术的问题,本发明提供了一种基于通用数据结构描述的实体与关系数据的映射方法,解决了数据库差异导致的SQL语句不同的问题,并且实现快速、规范开发数据库操作SQL语句的目的。
所述技术方案如下:
一种基于通用数据结构描述的实体与关系数据的映射方法,包括以下步骤:
A、将实体和实体间关系转换成通用数据结构;
B、基于所述的通用数据结构和SQL语法树来映射生成SQL语句;
C、根据所述的SQL语句进行业务操作。
通用数据结构是用于描述实体和实体间关系的内存数据结构,包括核心实体、节点对象、节点对象元素、关联关系四个部分。
SQL语句包括Insert SQL语句、Delete SQL语句、Update SQL语句和Select SQL语句,分别对应1、Insert插入模式下的映射生成SQL语句,其用于处理实体和实体关系数据在数据库的插入操作;2、Delete删除模式下的映射生成SQL语句,其用于处理实体和实体关系数据在数据库的删除操作;3、Update更新模式下的映射生成SQL语句,其用于处理实体和实体关系数据在数据库的更新操作;4、Select查询模式下的映射生成SQL语句,其用于处理实体和实体关系数据在数据库的查询操作。
在Insert插入模式下的映射生成SQL语句的过程中,对所有的实体数据批量的插入到数据库中。
在Select查询模式下的映射生成SQL语句的过程中,通过查询类型枚举和通用数据结构解析,确定要查询的实体和实体间的关联方式,并辅以实体上定义的排序规则、过滤规则以及分组规则,最终形成查询Select SQL语句。
本发明的具有功能和有益效果:在ERP系统下,通过使用通用数据结构和SQL语法树解析常用Insert/Update/Delete/Select SQL语句,可以快速生成Oracle和SQL Server数据库下的业务操作SQL。虽然不能满足全部的SQL解析需要,但是可以满足日常大部分的SQL解析需要,这样不仅大大提高了软件研发人员的开发效率,而且屏蔽了数据库的差异并规范了SQL的写法。
附图说明
图1为本发明的一种基于通用数据结构描述的实体与关系数据的映射方法的映射结构示意图;
图2为本发明的一种基于通用数据结构描述的实体与关系数据的映射方法的通用数据结构示意图;
图3为本发明的一种基于通用数据结构描述的实体与关系数据的映射方法的Select模式下的SQL语法树示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
一、对于通用数据结构,是用于描述实体和实体间关系的内存数据结构,包括核心实体、节点对象、节点对象元素、关联关系四个部分,图例参见附图2。其中:
1、核心实体。
通用数据结构是一个树形结构,它将实体和各实体间的关系使用树形结构描述了出来。在这里,需要识别出来核心的操作实体,核心的操作实体作为整棵树的根节点,其他各个实体作为根结点的子节点或者关联节点。
2、节点对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮集团山东通用软件有限公司,未经浪潮集团山东通用软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310118264.2/2.html,转载请声明来源钻瓜专利网。