论文部分内容阅读
时间是自然界无所不在的客观属性,所有信息都具有相应的时态属性。时态数据库将时间作为数据的属性纳入系统的管理范畴,存储和管理多个时间状态的数据。时态数据库中存储的数据都具有时态信息,当我们把经典关系数据库中的函数依赖(Functional Dependency)引入到时态数据库中时,同样需要给函数依赖增加时态信息,来说明函数依赖成立的时间,例如:“任一雇员在同一月内只能有一种工资”、“任一雇员在同一年内只能在同一部门工作”,相对于经典函数依赖,我们分别记这两个时间区段内的函数依赖为:Name→_<月>Sal,Name→_<年>Dept,并称它们为时态函数依赖(Temporal Functional Dependency)。显然时态函数依赖能更有效的建模现实世界的对象,并且能有效的解决数据库的冗余问题和实现数据的约束。经过二十多年的发展,时态数据库理论研究取得了丰富的成果,而时态数据库实现技术尚处于起步阶段,目前国内外还没有一个真正意义上的时态数据库管理系统。作为商业DBMS的前端构件,TimeDB基本实现了时态数据管理功能,是比较成功的时态数据库管理原型系统。但是目前提出的TDBMS都没有提供对时态函数依赖的支持,时态函数依赖的定义、解释和检查都要由用户程序实现。如何在TDBMS中对关系数据库中的函数依赖进行扩展,增加时态信息使其扩展为时态函数依赖,在对TDBMS进行数据插入和修改时进行函数依赖检查,对不满足时态函数依赖的插入和修改事务进行回滚,并且允许用户自定义时态函数依赖,是时态数据库应用研究领域的一个重要课题。本文提出了一种基于时态函数依赖处理模块对TimeDB进行扩展的实现方案,在时态数据库中实现时态函数依赖的支持,并支持用户自定义时态函数依赖。本文首先介绍了时态数据库出现的历史背景、起源与发展以及研究与应用现状,说明了时态数据库中的一些基本概念,其次讲述了时态数据模型和时态数据的表示方案,然后讨论了基于TimeDB扩展的时态数据库系统设计,最后提出了时态函数依赖及其公理推导系统,并且在此基础上实现了时态函数依赖处理模块。本文提出的时态函数依赖处理模块作为现有时态数据库TimeDB的一个扩展功能模块,在前端构件TimeDB之上,用于支持TDBMS的时态函数依赖处理的特性。当用户对TDBMS进行插入和修改操作时,时态函数依赖处理模块将对插入和修改的数据进行检查,当满足依赖时才交由TimeDB执行,若不满足则直接对用户进行提示,并且支持用户自定义时态函数依赖,对时态函数依赖的解释和处理都是对用户透明的,从而实现了TDBMS对时态函数依赖的支持。