一种通用数据库访问中自动适配对象的方法技术

技术编号:12071479 阅读:119 留言:0更新日期:2015-09-18 04:37
本发明专利技术提供了一种通用数据库访问中自动适配对象的方法,包括通过数据库数据目录自动生成数据字典和编程语言数据结构;通过数据字典技术实现数据库表与编程语言应用对象的自动适配;通过这种方法实现的数据库访问接口可以向用户提供无SQL语句的数据库访问,实现了数据库表与编程语言数据结构的对象化、数据库访问请求自动适配对象和数据库查询结果自动适配对象,这种对象化在数据库与应用对象之间建立“动态耦合”关系,当数据库设计变化后可以通过自动化的方法以重新生成数据字典和编程语言数据结构的方式对其进行重新对象化,解决了数据库应用程序对具体数据库结构依赖性过大、软件的可扩充性差和通用性不高等问题。

【技术实现步骤摘要】

本专利技术属于计算机应用领域,涉及, 特别是涉及到数据库系统应用中实现数据库系统的表结构与应用软件的应用对象自动匹 配的方法。
技术介绍
在电子信息系统设计中数据库系统是不可或缺的一个重要组成部分,而数据的存 取功能则是数据库系统的最基本的功能。传统的查询数据存取方法是调用数据库专用接口 撰写结构化查询语言(Structured Query Language,简称SQL)实现的,这种存取方法对软 件开发者的数据库基础要求较高,在查询记录时需要根据查询字段撰写查询语句,然后将 查询结果赋值到编程语言的应用对象中,在插入记录、更新记录和删除记录时也需要根据 编程语言的应用对象组织SQL语句进行写库,这就使得编程语言中的对象和数据库紧密耦 合,数据库应用程序对具体数据库结构依赖性过大,当应用对象发生变化后需要扩展或增 加新的查询,软件的可扩充性和通用性不高。 目前,国内外学者通过对数据库的数据目录的研宄,提出了基于数据字典实现的 通用数据库存取技术,但没有实现通过数据字典将数据库对象与编程语言应用对象进行对 象化关联,另外业界也有通过序列化的方法实现数据库表和编程语言应用对象数据结构对 象化的成功案例,但是序列化的实现方法虽然解决了数据库表与应用对象的自动对象化问 题,但必须为每张表单独设计一套存取接口,后期维护工程浩大,特别是数据库系统比较庞 大或者变化比较频繁的应用场景。
技术实现思路
专利技术目的:本专利技术的目的在于解决数据库应用软件的可扩充性和通用性问题,提 供了一种通用数据库访问中数据查询、数据存储的自动适配对象的方法,在数据库存取数 据时通过本专利技术将数据库表与编程语言应用对象自动适配,提高数据库应用软件的可扩充 性和通用性。 为了解决上述技术问题,本专利技术公开了一种通用数据库访问中数据查询、数据存 储(包括数据库插入、数据库更新和数据库删除操作)的自动适配对象的方法,这种自动适 配对象方法的核心是根据数据字典对数据库请求中的编程语言应用对象进行按字节存取,
技术实现思路
包括根据数据库数据目录生成的数据字典构造与数据库表对应的编程语言数据 对象,通过构造的编程语言数据对象实现对数据库的访问,所述对数据库的访问包括数据 库表与编程语言数据结构的对象化、数据库访问请求自动适配对象和数据库查询结果自动 适配对象,通过对象化在数据库与应用对象之间建立了"动态耦合"关系,当数据库设计变 化后可以通过自动化的方法以重新生成数据字典和编程语言数据结构的方式对其进行重 新对象化。 其中,数据库表与编程语言数据结构的对象化包括如下步骤: 步骤1-1,根据数据库的数据目录提取数据库的用户数据字典; 步骤1-2,根据数据库的数据目录提取数据库的表或视图数据字典,并将其与用户 数据字典关联; 步骤1-3,根据数据库的数据目录提取数据库的字段数据字典,并将其与表或视图 数据字典关联; 步骤1-4,根据数据库的表或视图数据字典和字段数据字典,以及数据库字段类型 与编程语言数据类型的对应关系,生成与数据库对象对应的编程语言数据结构,根据生成 的编程语言数据结构构造编程语言数据对象。 数据库表与编程语言数据结构的对象化采用数据字典技术对编程语言的数据结 构进行定义,数据字典分为用户数据字典、表或视图数据字典和字段数据字典,三类数据字 典生成后以文件的形式存储,数据字典文件分为两部分:文件头和数据字典内容,三类数据 字典的文件头的格式相同,数据字典文件头包括文件名、文件长度、记录个数、单个记录的 长度,校验码和记录起始位置的偏移量,三类数据字典文件内容包括: (a)用户数据字典:包括用户名、用户ID和用户下的表和视图的总数目; (b)表或视图数据字典:包括表名或视图名、用户的ID、表1D或视图ID、表或视图 的字段数目、表的主键字段数目和表的主键字段的索引; (c)字段数据字典:包括字段名、用户ID、表或视图ID、字段ID、字段类型和字段长 度; 其中,数据字典中的字段类型是与数据库字段类型对应的编程语言中的类型,数 据库字段类型中的整数对应编程语言的整数、浮点数对应编程语言的浮点数、字符串对应 编程语言的字符数组、时间对应编程语言的时间结构体、二进制大字段对应编程语言的由 一个长度字段和一个指针组成的结构体,字段数据字典中的字段长度为编程语言中的数据 类型长度。 当数据库结构变化时,通过更新数据字典和编程语言的数据结构来实现数据库与 编程语言数据结构的重新适配,数据字典通过自动化生成,编程语言的数据结构也通过自 动化编程技术自动生成。 编程语言的数据结构定义中按照数据库字段定义顺序定义,且设置字节对齐方式 为单字节对齐,并将编程语言的数据对象根据数据字典编码成统一的数据库访问请求,使 数据库访问请求泛化,从而可以实现统一的数据库访问接口。 数据库访问请求自动适配对象包括如下步骤: 步骤2-1,根据编程语言数据对象构建数据库访问请求; 步骤2-2,根据数据库访问请求中的数据库用户名、表名或视图名查询数据字典; 步骤2-3,获取到指定用户、指定表或视图以及表或视图所有字段的数据字典; 步骤2-4,根据数据字典编码编程语言数据对象,使数据库访问请求泛化; 步骤2-5,使用统一接口处理泛化后的数据库访问请求,根据数据字典将编程语言 数据对象还原,获取到每个成员的值; 步骤2-6,将还原后的编程语言数据对象的数据成员与数据库表或视图的字段自 动适配; 步骤2-7,构造数据库方法访问数据库。 数据库查询结果自动适配对象包括如下步骤: 步骤3-1,查询数据字典; 步骤3-2,获取到数据字典; 步骤3-3,根据数据字典获取查询结果输出对象的数据结构; 步骤3-4,逐个查询数据库的字段值; 步骤3-5,根据建立的数据库表或视图的字段与编程语言数据结构成员的对象化 关系自动适配。 有益效果:本专利技术基于数据字典技术提出了一种通用数据库访问中的自动适配对 象的方法,可以完成数据库查询、插入、更新和删除记录时数据库表结构与编程语言数据对 象的自动适配,可以在数据库应用中通过编程语言数据对象访问数据库,基于这种方法提 供的数据库访问接口无需数据库基础(不需要写SQL语句)、对所有数据库表使用统一的访 问方式,解决了数据库应用程序对具体数据库结构依赖过大,具有开发容易、开发的软件可 复用程度和可扩充性高等优点,是实现对象化数据库通用访问的一种关键技术。通过本发 明方法实现对象化的数据库访问,可以直接进行通用的对象化数据库应用软件开发或开发 商用的对象化数据库访问中间件软件。【附图说明】 下面结合附图和【具体实施方式】对本专利技术做更进一步的具体说明,本专利技术的上述和 /或其他方面的优点将会变得更加清楚。 图1为本专利技术数据字典结构及关联关系示意图。 图2为表T和编程语言数据结构S的对象化示意图。 图3为编程语言数据结构S的内存存储示意图。 图4为数据库访问请求自动适配对象的流程图。 图5为数据库查询结果自动适配对象的流程图。【具体实施方式】 本专利技术公开了一种通用数据库访问中数据查询、数据存储(包括数据库插入、数 据库更新和数据库删除操作)的自动适配对象的方法,
技术实现思路
包括数据库表与编程语言 数据结构的对象化、数据库访问请求自动适配对象和数据库查询本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/CN104915383.html" title="一种通用数据库访问中自动适配对象的方法原文来自X技术">通用数据库访问中自动适配对象的方法</a>

【技术保护点】
一种通用数据库访问中自动适配对象的方法,其特征在于,包括数据库表与编程语言数据结构的对象化、数据库访问请求自动适配对象和数据库查询结果自动适配对象。

【技术特征摘要】

【专利技术属性】
技术研发人员:雷明涛田少鹏何赟薛松郭灵波印小冬李怡谦
申请(专利权)人:中国电子科技集团公司第二十八研究所
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1