[发明专利]一种通用数据库访问中自动适配对象的方法有效
| 申请号: | 201510258143.7 | 申请日: | 2015-05-19 |
| 公开(公告)号: | CN104915383B | 公开(公告)日: | 2018-03-02 |
| 发明(设计)人: | 雷明涛;田少鹏;何赟;薛松;郭灵波;印小冬;李怡谦 | 申请(专利权)人: | 中国电子科技集团公司第二十八研究所 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 江苏圣典律师事务所32237 | 代理人: | 胡建华 |
| 地址: | 210007 江苏省南京*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 通用 数据库 访问 自动 配对 方法 | ||
技术领域
本发明属于计算机应用领域,涉及一种通用数据库访问中自动适配对象的方法,特别是涉及到数据库系统应用中实现数据库系统的表结构与应用软件的应用对象自动匹配的方法。
背景技术
在电子信息系统设计中数据库系统是不可或缺的一个重要组成部分,而数据的存取功能则是数据库系统的最基本的功能。传统的查询数据存取方法是调用数据库专用接口撰写结构化查询语言(Structured Query Language,简称SQL)实现的,这种存取方法对软件开发者的数据库基础要求较高,在查询记录时需要根据查询字段撰写查询语句,然后将查询结果赋值到编程语言的应用对象中,在插入记录、更新记录和删除记录时也需要根据编程语言的应用对象组织SQL语句进行写库,这就使得编程语言中的对象和数据库紧密耦合,数据库应用程序对具体数据库结构依赖性过大,当应用对象发生变化后需要扩展或增加新的查询,软件的可扩充性和通用性不高。
目前,国内外学者通过对数据库的数据目录的研究,提出了基于数据字典实现的通用数据库存取技术,但没有实现通过数据字典将数据库对象与编程语言应用对象进行对象化关联,另外业界也有通过序列化的方法实现数据库表和编程语言应用对象数据结构对象化的成功案例,但是序列化的实现方法虽然解决了数据库表与应用对象的自动对象化问题,但必须为每张表单独设计一套存取接口,后期维护工程浩大,特别是数据库系统比较庞大或者变化比较频繁的应用场景。
发明内容
发明目的:本发明的目的在于解决数据库应用软件的可扩充性和通用性问题,提供了一种通用数据库访问中数据查询、数据存储的自动适配对象的方法,在数据库存取数据时通过本发明将数据库表与编程语言应用对象自动适配,提高数据库应用软件的可扩充性和通用性。
为了解决上述技术问题,本发明公开了一种通用数据库访问中数据查询、数据存储(包括数据库插入、数据库更新和数据库删除操作)的自动适配对象的方法,这种自动适配对象方法的核心是根据数据字典对数据库请求中的编程语言应用对象进行按字节存取,发明内容包括根据数据库数据目录生成的数据字典构造与数据库表对应的编程语言数据对象,通过构造的编程语言数据对象实现对数据库的访问,所述对数据库的访问包括数据库表与编程语言数据结构的对象化、数据库访问请求自动适配对象和数据库查询结果自动适配对象,通过对象化在数据库与应用对象之间建立了“动态耦合”关系,当数据库设计变化后可以通过自动化的方法以重新生成数据字典和编程语言数据结构的方式对其进行重新对象化。
其中,数据库表与编程语言数据结构的对象化包括如下步骤:
步骤1-1,根据数据库的数据目录提取数据库的用户数据字典;
步骤1-2,根据数据库的数据目录提取数据库的表或视图数据字典,并将其与用户数据字典关联;
步骤1-3,根据数据库的数据目录提取数据库的字段数据字典,并将其与表或视图数据字典关联;
步骤1-4,根据数据库的表或视图数据字典和字段数据字典,以及数据库字段类型与编程语言数据类型的对应关系,生成与数据库对象对应的编程语言数据结构,根据生成的编程语言数据结构构造编程语言数据对象。
数据库表与编程语言数据结构的对象化采用数据字典技术对编程语言的数据结构进行定义,数据字典分为用户数据字典、表或视图数据字典和字段数据字典,三类数据字典生成后以文件的形式存储,数据字典文件分为两部分:文件头和数据字典内容,三类数据字典的文件头的格式相同,数据字典文件头包括文件名、文件长度、记录个数、单个记录的长度,校验码和记录起始位置的偏移量,三类数据字典文件内容包括:
(a)用户数据字典:包括用户名、用户ID和用户下的表和视图的总数目;
(b)表或视图数据字典:包括表名或视图名、用户的ID、表ID或视图ID、表或视图的字段数目、表的主键字段数目和表的主键字段的索引;
(c)字段数据字典:包括字段名、用户ID、表或视图ID、字段ID、字段类型和字段长度;
其中,数据字典中的字段类型是与数据库字段类型对应的编程语言中的类型,数据库字段类型中的整数对应编程语言的整数、浮点数对应编程语言的浮点数、字符串对应编程语言的字符数组、时间对应编程语言的时间结构体、二进制大字段对应编程语言的由一个长度字段和一个指针组成的结构体,字段数据字典中的字段长度为编程语言中的数据类型长度。
当数据库结构变化时,通过更新数据字典和编程语言的数据结构来实现数据库与编程语言数据结构的重新适配,数据字典通过自动化生成,编程语言的数据结构也通过自动化编程技术自动生成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第二十八研究所,未经中国电子科技集团公司第二十八研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510258143.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:转盘印刷机
- 下一篇:用于收集与音频通知系统有关的信息的方法





