[发明专利]智能卡数据库多表操作方法及装置有效
申请号: | 201010163363.9 | 申请日: | 2010-04-28 |
公开(公告)号: | CN101840430A | 公开(公告)日: | 2010-09-22 |
发明(设计)人: | 刘庆海 | 申请(专利权)人: | 北京握奇数据系统有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 100015 北京市朝阳区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 智能卡 数据库 操作方法 装置 | ||
技术领域
本发明涉及智能卡数据库领域,尤其涉及一种智能卡数据库多表操作方法及装置。
背景技术
由于智能卡数据库只提供单表操作,因此在设计智能卡数据库应用时只能按单个数据库表进行设计。当需要对数据库中的多个数据表进行连接应用时,目前对智能卡数据库的操作有两种方法:第一种,首先将需要连接应用的多个数据表合成一个表,即把多个数据表中所有信息放在一张表中,然后对该包含所有信息的合成表进行操作;第二种,通过应用来完成相关数据库表的操作,即把需要连接应用的表中的数据全部取到应用中,在应用中完成相关连接操作。
在实现上述智能卡数据库多表操作的过程中,发明人发现现有技术中至少存在如下问题:由于智能卡的缓存空间有限,若采用第一种方法,合成后的数据库表中会增加许多冗余数据,使智能卡数据库性能急剧下降,影响了数据库的操作效率。若采用第二种方法,会在通讯中增加许多冗余数据,增加了智能卡通讯处理时间,并且大量的冗余数据需要存储在智能卡有限的内存中,使智能卡的数据库性能急剧下降,影响了智能卡数据库的操作效率。上述两种方法获取的数据都存在大量的冗余,造成大量冗余数据存储在有限的智能卡内存中,使得原本有限的内存空间更加拥塞,造成智能卡的数据库性能急剧下降,影响了智能卡数据库的操作效率。
发明内容
本发明的实施例提供一种智能卡数据库多表操作方法及装置,提高了智能卡数据库的性能和智能卡数据库的操作效率。
为达到上述目的,本发明的实施例采用如下技术方案:
一种智能卡数据库多表操作方法,包括:
从需要进行连接操作的至少两个数据库表中,选取一个数据库表作为第一数据库表;
获取满足第一查询条件的第一记录,并根据第一缓存的大小将所述第一记录存储在所述第一缓存中,所述第一查询条件为与所述第一数据库表对应的查询条件,所述第一缓存的大小至少为所述第一数据库表中一条记录的存储空间大小;
从所述第一记录中获取所述第一数据库表与其他数据库表的连接查询条件中数据域名对应的数据域值,用所述数据域值代替所述连接查询条件中对应的数据域名组成第二查询条件;
获取满足所述第二查询条件的第二记录,并根据第二缓存的大小将所述第二记录存储在所述第二缓存中,所述第二缓存的大小至少为所述第二数据库表中一条记录的存储空间大小;
将所述第一记录与所述第二记录进行连接组合得到连接组合记录,并将所述连接组合记录存储在预分配的连接输出缓存中,所述连接输出缓存的大小至少为所述第一数据库表和第二数据库表连接后一条连接组合记录记录的存储空间大小。
一种智能卡数据库多表操作装置,包括:
选取单元,用于从需要进行连接操作的至少两个数据库表中,选取一个数据库表作为第一数据库表;
第一获取单元,用于获取满足第一查询条件的第一记录,所述第一查询条件为与所述第一数据库表对应的查询条件;
第一存储单元,用于根据第一缓存的大小将所述第一获取单元获取的所述第一记录存储在所述第一缓存中,所述第一缓存的大小至少为所述第一数据库表中一条记录的存储空间大小;
组成单元,用于从所述第一记录中获取所述第一数据库表与其他数据库表的连接查询条件中数据域名对应的数据域值,用所述数据域值代替所述连接查询条件中对应的数据域名组成第二查询条件;
第二获取单元,用于获取满足所述第二查询条件的第二记录;
第二存储单元,用于根据第二缓存的大小将所述第二获取单元获取的所述第二记录存储在所述第二缓存中,所述第二缓存的大小至少为所述第二数据库表中一条记录的存储空间大小;
连接组合单元,用于将所述第一记录与所述第二记录进行连接组合得到连接组合记录;
第三存储单元,用于将所述连接组合单元生成的连接组合记录存储在预分配的连接输出缓存中,所述连接输出缓存的大小至少为所述第一数据库表和第二数据库表连接后一条连接组合记录记录的存储空间大小。
采用本发明技术方案后,当需要对智能卡数据库中的多个数据库表进行关联查询操作时,在智能卡内为需要进行关联查询的数据库表设置至少能够存储下一条记录的第一缓存和第二缓存,并根据连接后的记录设置对应的连接输出缓存;在进行多表查询操作时,将满足查询条件的记录根据缓存的大小存储分批存储在设置的第一缓存和第二缓存中,并在对满足条件的记录进行连接操作后,将连接后的记录存储在连接输出缓存中,以实现智能卡数据表的多表关联查询,即,使用缓存复用的方式充分利用有限的智能卡内存空间,从而提高了智能卡数据库的性能和质量。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京握奇数据系统有限公司,未经北京握奇数据系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010163363.9/2.html,转载请声明来源钻瓜专利网。