日期:2013-10-13  浏览次数:20564 次

 
时态数据库综述

 

摘要:本文是时态数据库的一个综述,概要的引见时态数据库的产生背景,研讨动向,然后引见了时态数据库的分类和现有的比较典型的模型,最后引见了时态管理和时态数据库设计方面的问题。

 

l         背景

传统的数据库技术能反映理想世界中的数据,但是它仅仅能体现理想世界中数据的当前形状,只反应了一个对象在某一个时辰的形状(快照),不联系其过去和未来。这就是人们常说得快照数据库(Snapshot Database)。现代的信息流包含事件的时态信息(Temporal Information), 其中有时辰信息(Instant  Information), 时间区间信息(Interval  Information)和绝对时间信息(之前、之后、堆叠)等等。

日益广泛的数据库使用要求了管理被处理事件的历史性信息,和系统中元事件的时态信息。需求迫切处理两个问题:一是要求管理被处理事件的历史性信息,如与人事、财务、金融和自然灾祸等有关的历史材料,从中可看出事物发展的本质规律;二是要求管理数据库系统中元事件的时态信息,如增查,删改的时辰和时间区间、在多用户系统中对锁定排队及资源竞争协调的时标等,这些数据有助于提高数据库系统的可靠性和效率。因此引入时态数据库。

 

l         研讨动向

在20世纪70年代初,许多人就开始探索在数据库和信息系统中处理时间信息。

80年代初期,时态数据库研讨开始繁荣,在1982-1986年间,一共有80多篇关于时态数据库的论文。到了80年代中期,曾经提出了近百种时态数据库的方案,经过十多年的发展和互相学习,逐渐合并为十多种公认的模型。

Kahn Ketal在1977年在《人工智能》杂志上的文章中研讨了关于“时态知识”的问题。

J. Ben Zvi于1979—1982年对时态数据库作了开创性研讨,他的博士论文(加州大学洛杉矶分校,1982) 总结了他的一系列任务。Ben Zvi 的奉献突出在下列几点∶

(1),他提出了时态数据库模型,引入了时间间隔 ( Time Period ),后来被学术界改称为时间区间。

(2),在1979—1982这个关系规范型研讨的热点时期,Ben Zvi 突破思想禁区,提出并研讨了非1NF 的TDB 。

(3) 以时间区间作字段值,刷新了人们认为数据库字段值只能是一个数或串的观念。

(4)引入了后来被称为双时态的概念,即用无效时间表示被管理对象在库中生命周期,用事务时间表示数据库本身的历史。

(5).引入了时态索引结构。

    1982年J. Clifford 在纽约大学完成了博士论文“A logical frame work for the Temporal Semantics and Natural Language Querying of Historical Database ”及相关的一组文章,对历史数据库的开创性作了重要奉献。它留意到了被管理对象的生命周期 (Lifespan), 研讨了在关系、元组、字段值上加时态信息的技术细节,引入了历史关系模型,历史关系代数,研讨了历史数据库中投影、选择、连接的特殊要求和特殊规律,研讨了历史关系模型与传统关系模型的兼容性,即当把区间缩小为一点〔Now, Now〕时历史数据库即退化为传统快照数据库,且相应的时态代数运算退化为传统快照关系运算。

美国南加利福尼亚大学的S. Ginsburg 教授原是方式言语,特别是上下文无关文法研讨的先驱者。他于1983年提出对象历史模型(Object History)。

 

l         时态数据库的分类

按Spipada和Snodgrass的意见,时态数据库按功用可分为三类∶

(1) 事务数据库。数据库本身被查删改的时间称为事务时间(Transaction Time),事务数据库支持事务时间,他按事务时间编址,保存了所无形状演化中过去的形状。事务的关系是一种三维结构,由元组,属性和事务时间三维构成。

(2) 历史数据库。被管理对象的生命周期称为无效时间(Valid Time),历史数据库和事务数据库类似,只是用无效时间代替了事务时间,代之以静态形状序列,而是用每个关系记录一个历史的形状。历史的关系也是一个三维结构,由元组,属性和无效时间构成。

(3)时态数据库,既能管理对象历史,又能管理数据库本身的历史,又叫双时态数据库。他具有前两者的优点,支持事务时间和无效时间。时态关系是一个四维结构,由元组,属性,事务时间和无效时间构成。

l         DBMS的时态信息四种处理方法

事件常常都伴有时态信息,传统的数据库只通过用户定义时间来记录时态信息,DBMS没有管理事件时态信息的机制。下表列出了DBMS处理时态信息的四种方式。



 

l         时态管理的问题

长期以来,在没有使用时态数据库的年代里,企业及机关管理历史性数据都是把多个快照(即在不同时辰保存的数据库的备份)放在一同,构成了历史。

    (1).取多大的时间间隔保存快照? 如果间隔太大,则不足以保证数据的精确详实,如果间隔太小,则数据冗余多,占存贮空间大。

    (2).传统关系数据库中,一个表的多个快照,不能简单地同时装入内存,不能简单地使用传统的选择、投影、连接运算进行操作和查询。由于同一元组同一属性下的值在不同快照中可能不同,必须作较复杂的、非通用的编程。

    (3).传统数据库中,对数据库本身历史的维护支持不足,普通只要供恢复回退用的事务日志( Transaction log ), 缺乏相应的事务查询命令(例如快速地查出谁对某一字段作了超过十次的修正)。

 

l         现有时态数据库模型

80年代中期,曾经提出的近百种时态数据库的方案,经过十多年的发展和互相学习,逐渐合并为十多种公认的模型,其中有十三种被收入世界第一本关于时态数据库专著《Temporal Database—Theory, Design and Implementation》。

(1). Time Relational Model, 该模型是Ben Zvi 在1979--1982在博士论文中提出,是TDB领域的先驱性研讨任务。它开创了对时态数据库、时态查询言语的研讨。

    (2). HRDM  (Historical Relational Data Model ),J. Clifford ,1982.

    (3). TempSQL, Sharshi. K. Gadia  & Sunil, S. Nair, 1985.

    (4). IXRM (Interval-Extended Relational Model ),Nikos A. Lorentzos,1987.

    (5). TRM 及TSQL (Temporal Extensions to the Relational Model ) K. B. Navathe,1987.

    (6). HSQL ( Historical Query Language ),N. L. Sarda 1987.

    (7). TQuel,R. Snodgrass , 1985.

    (8). TRC (Temporal Relational Calculus ),Abdullah Tansel ,1992

    (9). TEER, (Temporal Query Language