CN101714087A - C语言结构体至关系数据库表的映射系统及映射方法 - Google Patents
C语言结构体至关系数据库表的映射系统及映射方法 Download PDFInfo
- Publication number
- CN101714087A CN101714087A CN200910311459A CN200910311459A CN101714087A CN 101714087 A CN101714087 A CN 101714087A CN 200910311459 A CN200910311459 A CN 200910311459A CN 200910311459 A CN200910311459 A CN 200910311459A CN 101714087 A CN101714087 A CN 101714087A
- Authority
- CN
- China
- Prior art keywords
- database table
- language
- relation database
- mapping
- relation
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及嵌入式技术领域,尤其涉及C语言结构体至关系数据库表的映射系统及映射方法。本发明公开了一种C语言结构体至关系数据库表的映射系统,简化从C语言结构体到关系数据库表的转换。其技术方案的要点是:C语言结构体至关系数据库表的映射系统,包括C语言结构体至关系数据库表的映射代码生成引擎模块、C语言结构体至关系数据库表的映射可扩张标记语言描述模块及C语言结构体至关系数据库表的映射代码的使用模块。本发明还提出了一种C语言结构体至关系数据库表的映射方法,本发明的有益效果是:简化了繁琐的数据管理,同时还屏蔽了下层数据库变化对上层应用的影响,提高应用的可移植性。
Description
技术领域
本发明涉及嵌入式技术领域,尤其涉及C语言结构体至关系数据库表的映射系统及映射方法。
背景技术
目前嵌入式设备的性能在不断增强,嵌入式应用变得越来越丰富,涉及的数据操作越来越复杂,对数据的管理要求比以前有很大提高,嵌入式关系数据库是发展趋势,发展很迅速,嵌入式数据库已经在现在的嵌入式开发中得到了一定的应用。另一方面,C语言容易移植,接近底层,性能高,一直是嵌入式开发的主要语言。但是,在C语言中,数据都是用C语言结构体存储,而在关系数据库中是用表来存储,对数据的操作都是固定的增加、删除、查找、修改操作,关系数据库表和C语言结构体之间的数据交换,需要用到C语言函数接口包装的SQL(结构化查询语言)语句实现。在开发中,从C语言结构体到关系数据库表的转换就成了繁琐重复的工作。
发明内容
本发明所要解决的技术问题是:提出一种C语言结构体至关系数据库表的映射系统及映射方法,简化从C语言结构体到关系数据库表的转换。
本发明解决上述技术问题所采用的技术方案是:C语言结构体至关系数据库表的映射系统,包括C语言结构体至关系数据库表的映射代码生成引擎模块、C语言结构体至关系数据库表的映射可扩张标记语言描述模块及C语言结构体至关系数据库表的映射代码的使用模块;所述C语言结构体至关系数据库表的映射代码生成引擎模块包括关系数据库管理系统适配器、可扩展标记语言解析引擎及C语言代码生成引擎;所述C语言结构体至关系数据库表的映射可扩张标记语言描述模块包括对关系数据库管理系统的描述,对关系数据库表的描述,对关系数据库表之间的关系的描述,对数据操作的描述:所述C语言结构体至关系数据库表的映射代码的使用模块包括对函数接口的定义和对函数接口调用的定义。
C语言结构体至关系数据库表的映射方法,包括以下步骤:
a.选用关系数据库管理系统;
b.根据要开发的应用,进行需求分析,设计数据库表;
c.根据设计的数据库表,编写C语言结构体至关系数据库表的映射可扩张标记语言描述文档;
d.把步骤c中生成的描述文档交给C语言结构体至关系数据库表的映射代码生成引擎,映射代码生成引擎连接到关系数据库管理系统根据描述文档建立关系数据库表,同时生成C语言结构体至关系数据库表的映射C语言代码;
e.把步骤d中生成的C语言代码集成到开发应用中,把数据管理交给生成的C语言代码来处理。
所述步骤c中,可扩展标记语言描述文档采用可扩展标记语言描述数据库管理系统、关系数据库表的详细结构、关系数据库表间的关系及数据操作接口。
本发明的有益效果是:简化了繁琐的数据管理,同时还屏蔽了下层数据库变化对上层应用的影响,提高应用的可移植性。
具体实施方式
本发明中的C语言结构体至关系数据库表的映射系统包含一个C语言结构体至关系数据库表的映射代码生成引擎,一个C语言结构体至关系数据库表的映射可扩展标记语言描述模块,一个C语言结构体至关系数据库表的映射代码使用模块。
其中C语言结构体至关系数据库表的映射代码生成引擎包含关系数据库管理系统适配器、可扩展标记语言解析引擎,C语言代码生成引擎。虽然关系数据库有统一的结构化查询语言,但是对于不同的关系数据库管理系统C语言访问接口是各不相同的,关系数据库管理系统适配器针对不同的数据库管理系统提供对应的优化的访问接口。可扩展标记语言解析引擎根据C语言结构体至关系数据库表的映射可扩张标记语言描述规范解析可扩展标记语言文档,再用C语言代码生成引擎生成C语言代码。C语言结构体至关系数据库表的映射可扩展标记语言描述模块包含:对关系数据库管理系统的描述,对关系数据库表的描述,对关系数据库表之间的关系的描述,对数据操作的描述。用户按照C语言结构体至关系数据库表的映射代码使用规范使用生成C语言代码,完成对数据的管理。C语言结构体至关系数据库表的映射代码使用模块包含函数接口定义的规则,函数接口调用的规则。
当用户需要在开发中运用C语言结构体至关系数据库表的映射系统时,首先要确定选用的关系数据库管理系统。根据要开发的应用,进行需求分析,设计数据库表。根据设计的数据库表,编写C语言结构体至关系数据库表的映射可扩张标记语言描述文档,需要在文档中描述数据库管理系统,描述关系数据库表的详细结构,关系数据库表间的关系,数据操作接口。然后,把描述文档交给C语言结构体至关系数据库表的映射代码生成引擎,代码生成引擎可以连接到数据库管理系统自动根据描述文档建立关系数据库表,同时生成C语言结构体至关系数据库表的映射C语言代码。最后,把生成的C语言代码集成到开发的应用中去,把数据管理交给生成的C语言代码来处理。
C语言结构体至关系数据库表的映射系统简化了繁琐的数据管理,同时还屏蔽了下层数据库变化对上层应用的影响,提高应用的可移植性,使整个应用的架构更加清晰。
Claims (3)
1.C语言结构体至关系数据库表的映射系统,其特征在于:包括C语言结构体至关系数据库表的映射代码生成引擎模块、C语言结构体至关系数据库表的映射可扩张标记语言描述模块及C语言结构体至关系数据库表的映射代码的使用模块;所述C语言结构体至关系数据库表的映射代码生成引擎模块包括关系数据库管理系统适配器、可扩展标记语言解析引擎及C语言代码生成引擎;所述C语言结构体至关系数据库表的映射可扩张标记语言描述模块包括对关系数据库管理系统的描述,对关系数据库表的描述,对关系数据库表之间的关系的描述,对数据操作的描述:所述C语言结构体至关系数据库表的映射代码的使用模块包括对函数接口的定义和对函数接口调用的定义。
2.C语言结构体至关系数据库表的映射方法,其特征在于:包括以下步骤:
a.选用关系数据库管理系统;
b.根据要开发的应用,进行需求分析,设计数据库表;
c.根据设计的数据库表,编写C语言结构体至关系数据库表的映射可扩张标记语言描述文档;
d.把步骤c中生成的描述文档交给C语言结构体至关系数据库表的映射代码生成引擎,映射代码生成引擎连接到关系数据库管理系统根据描述文档建立关系数据库表,同时生成C语言结构体至关系数据库表的映射C语言代码;
e.把步骤d中生成的C语言代码集成到开发应用中,把数据管理交给生成的C语言代码来处理。
3.如权利要求2所述的C语言结构体至关系数据库表的映射方法,其特征在于:所述步骤c中,可扩展标记语言描述文档采用可扩展标记语言描述数据库管理系统、关系数据库表的详细结构、关系数据库表间的关系及数据操作接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910311459A CN101714087A (zh) | 2009-12-15 | 2009-12-15 | C语言结构体至关系数据库表的映射系统及映射方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910311459A CN101714087A (zh) | 2009-12-15 | 2009-12-15 | C语言结构体至关系数据库表的映射系统及映射方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101714087A true CN101714087A (zh) | 2010-05-26 |
Family
ID=42417755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910311459A Pending CN101714087A (zh) | 2009-12-15 | 2009-12-15 | C语言结构体至关系数据库表的映射系统及映射方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101714087A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102253975A (zh) * | 2011-06-16 | 2011-11-23 | 上海博康智能网络科技有限公司 | 一种数据库自动转换系统及方法 |
CN103116500A (zh) * | 2013-03-11 | 2013-05-22 | 北京首钢自动化信息技术有限公司 | 一种结构体定义和结构输出的方法及装置 |
CN104395845A (zh) * | 2012-06-22 | 2015-03-04 | 欧姆龙株式会社 | 控制装置 |
CN106570056A (zh) * | 2016-09-28 | 2017-04-19 | 深圳盒子支付信息技术有限公司 | 一种数据库实现方法及数据库 |
CN109783077A (zh) * | 2018-12-14 | 2019-05-21 | 平安科技(深圳)有限公司 | 区块链系统及其中间件系统、数据上链方法、存储介质 |
CN110780971A (zh) * | 2019-11-06 | 2020-02-11 | 山东健康医疗大数据有限公司 | 一种可视化的医疗数据映射、转换工具的实现方法及系统 |
-
2009
- 2009-12-15 CN CN200910311459A patent/CN101714087A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102253975A (zh) * | 2011-06-16 | 2011-11-23 | 上海博康智能网络科技有限公司 | 一种数据库自动转换系统及方法 |
CN104395845A (zh) * | 2012-06-22 | 2015-03-04 | 欧姆龙株式会社 | 控制装置 |
CN103116500A (zh) * | 2013-03-11 | 2013-05-22 | 北京首钢自动化信息技术有限公司 | 一种结构体定义和结构输出的方法及装置 |
CN106570056A (zh) * | 2016-09-28 | 2017-04-19 | 深圳盒子支付信息技术有限公司 | 一种数据库实现方法及数据库 |
CN109783077A (zh) * | 2018-12-14 | 2019-05-21 | 平安科技(深圳)有限公司 | 区块链系统及其中间件系统、数据上链方法、存储介质 |
CN109783077B (zh) * | 2018-12-14 | 2023-07-11 | 平安科技(深圳)有限公司 | 区块链系统及其中间件系统、数据上链方法、存储介质 |
CN110780971A (zh) * | 2019-11-06 | 2020-02-11 | 山东健康医疗大数据有限公司 | 一种可视化的医疗数据映射、转换工具的实现方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106202207B (zh) | 一种基于HBase-ORM的索引及检索系统 | |
CN107402988B (zh) | 一种分布式NewSQL数据库系统和半结构化数据查询方法 | |
CN101714087A (zh) | C语言结构体至关系数据库表的映射系统及映射方法 | |
CN103064875B (zh) | 一种服务化空间数据分布式查询方法 | |
CN107491561B (zh) | 一种基于本体的城市交通异构数据集成系统及方法 | |
CN100458793C (zh) | 数据访问层Xml格式数据与关系数据间的映射转换方法 | |
CN101661460A (zh) | 管理系统报表生成方法和装置 | |
CN104899295B (zh) | 一种异构数据源数据关联分析方法 | |
CN103430144A (zh) | 数据源分析 | |
CN105320680A (zh) | 一种数据同步方法及装置 | |
WO2013057937A1 (en) | Transformation of complex data source result sets to normalized sets for manipulation and presentation | |
CN102750358A (zh) | 一种系统数据模型到cim模型的映射方法及系统 | |
CN103186541A (zh) | 一种映射关系生成方法及装置 | |
CN103399942A (zh) | 一种支持SaaS多租户的数据引擎系统及其工作方法 | |
CN107656951B (zh) | 一种同步异构数据库系统中实时数据的方法 | |
CN102810114A (zh) | 基于本体的个人计算机资源管理系统 | |
CN105224613A (zh) | 基于数据联邦技术的异构数据源整合系统及其整合方法 | |
CN106407302A (zh) | 支持通过简单sql调用中间件数据库特有功能的方法 | |
CN103064876A (zh) | 面向地理信息应用的空间数据服务化获取方法 | |
CN101291253A (zh) | 一种网管客户端基于图形界面的人机命令交互方法 | |
CN102902778A (zh) | 查询语句优化装置和查询语句优化方法 | |
US8209340B2 (en) | Efficient functional representation of result shaping | |
CN104881461A (zh) | 一种快速数据保存方法 | |
CN102654878A (zh) | 嵌入式系统中分布式数据库的数据操作方法及板卡 | |
CN105205103A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100526 |