[发明专利]关系数据库中时间唯一索引中的间隙检测的方法和系统有效
| 申请号: | 201310363334.0 | 申请日: | 2013-08-20 |
| 公开(公告)号: | CN103631843B | 公开(公告)日: | 2017-03-01 |
| 发明(设计)人: | R.P.斯帕尔滕 | 申请(专利权)人: | 国际商业机器公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京市柳沈律师事务所11105 | 代理人: | 邸万奎 |
| 地址: | 美国纽*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 关系 数据库 时间 唯一 索引 中的 间隙 检测 方法 系统 | ||
技术领域
本发明涉及关系数据库,并且更具体地,涉及关系数据库中时间唯一索引中的间隙检测。
背景技术
关系数据库可以一般地描述为数据项的集合,其被组织为可以容易地从其访问数据的一组正式描述的表。关系数据库中使用的软件通常称为关系数据库管理系统(RDBMS)。RDBMS的一个示例是DB2通用数据库(DB2 UDB),其可以从纽约Armonk的国际商业机器公司获得。RDBMS中通常使用的一种类型的表是应用维持的时序表(Application_Maintained Temporal Tables)。时序表包含已知对给定时间段有效的数据。例如,对客户贷款的利率每月或每年具有特定值,但该利率在贷款的寿命期限中可能波动。数据库服务器可以在应用维持的时序表之上处理两种类型的约束(constraint):时间唯一性(Temporal Uniqueness)和间隙消除(Gap Elimination)。
时间唯一性约束(在DB2 UDB系统中也称为“无重叠(WITHOUT OVERLAPS)”约束)确保应用维持的时序表的每行描述离散的时间段,即,给定客户的贷款利率仅具有针对贷款寿命中的任何给定时间点的一个值。
间隙消除约束(本文也称为“无间隙(WITHOUT GAPS)”确保在用户数据的持续期间上不存在值的间隙,即,从贷款开始直到贷款结束,不存在未记录利率的时间点。
在某些RDBMS(诸如DB2 UDB)中,用户可以创建他们自己的间隙消除触发器或结构化查询语言(SQL)查询,以检测间隙。然而,这些SQL查询比时间唯一性复杂得多,因为间隙消除查询需要使用联机分析处理(OLAP)或其它分析功能,以在索引中确定“下一”和“前一”行的值,即:
SELECT*FROM
(SELECT STOCK_ID,MAX(END_DATE)OVER(ORDER BY BEGIN_DATE)GAP_START,
LEAD(BEGIN_DATE)OVER(ORDER BY BEGIN_DATE)GAP_END FROM T1)
WHERE GAP_START<GAP_END
此外,使用基于SQL的间隙消除方案的用户可能得到“错误的肯定(false positives)”,因为在更新/删除/插入(UDI)操作之后以及上述SQL语句被读取之前,索引未被锁定,并且这需要用户调整查询以匹配他们想要监视间隙的索引。
另一可选技术是在UDI操作后执行表的索引扫描,查找与被修改的非时间关键词部分匹配的所有关键词(key),并且在扫描期间确保当前行的结束时间等于下一行的开始时间。然而,这引入了锁定与并发的问题,因为扫描必须在数据上的索引锁定和页面锁定已被释放之后发生。
发明内容
根据本发明的各种实施例,提供了用于关系数据库中时间唯一索引中的间隙检测的方法和装置,包括计算机程序产品。在关系数据库中提供了时间为一索引。时间唯一索引包括第一组关键词。第一组关键词中的每个关键词包括一个或多个非时间关键词部分以及两个时间关键词部分,时间关键词部分指示时间开始值和时间结束值。响应于接收到与关系数据库中的改变的行有关的插入语句、更新语句和删除语句中的一个,在时间唯一索引中识别与所改变的行具有相同的非时间关键词部分的行。将所识别的行的时间关键词部分与所改变的行的时间关键词部分进行比较,以确定:所改变的行是否与时间更早的行和时间更晚的行直接相邻,所改变的行与时间更早的行之间是否检测到间隙,或者所改变的行与时间更晚的行之间是否检测到间隙。
下面在附图和描述中说明本发明的一个或多个实施例的细节。从描述和附图以及权利要求,本发明的其它特征和优点将是明显的。
附图说明
图1-图8示出了根据本发明的各种实施例的、索引和间隙列表如何受各种UDI操作影响的示例。
各个附图中同样的参考标记指示同样的元素。
具体实施方式
总述
这里描述的各个实施例涉及例如可以由RDBMS索引管理器(诸如DB2索引管理器)使用的技术,以在时间索引上的UDI操作期间维持间隙的列表。作为使用这些技术的结果,可以提高RDBMS的性能,对于时间索引上的时间UDI操作需要更少的应用开发时间,并且为用户获得增加的价值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310363334.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:履带张紧装置液压控制系统
- 下一篇:移动终端和方法





