




已阅读5页,还剩49页未读, 继续免费阅读
(计算机应用技术专业论文)面向对象的时态数据库技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 数据库技术的广泛应用对时态信息的管理提出了挑战。到目前为止,许多研 究者在关系数据模型的基础上提出了种种时态关系数据模型,但是由于关系模型 本身的限制使得这些模型在实际应用中面临着许多问题,而面向对象数据库正做 为一种新的数据库模式,显示了许多关系数据库所不具备的优点,因此在面向对 象数据库模式上扩展时态信怠处理能力正成为数裾库技术发展的一个重要趋势。 本文介绍了时态数据库的术语、数据模型,面向对象数据库的概念和实现方 法,并结合教育部人事工资信息系统详细具体的介绍了一个面向对象的时态模型 的设计和建立,其中重点介绍了其面向对象建模的过程和时态查询的一些算法, 为今后进一步将该模型应用到实际开发中奠定了基础条件。 关键词; 面向对象时态数据时态查询 m o s tr e s e a r c h0 1 1t h ei m p l e m e n t a t i o ni s s u e so ft e m p o r a ld a t a b a s e sh a s c o n c e n t r a t e do ne x t e n d i n gt h er e l a t i o n a ld a t am o d e lt oe n c o m p a s st h ed i m e n t i o no f t i m e h o w e v e rt h e s et e m p o r a lm o d e l sp r o b l e m si n t e r a c t i n gw i t ht h ea p p l i c a t i o n s t h u s a r e l a t i v e l yn e wd a t a b a s em o d e lh a sb e e na h o ts p o tf o rr e s e a r c h e r s i nt h i st h e s i s , w ef i r s ti n t r o d u c et h ec o n s e n s u sg l o s s a r ya n dd a t am o d e l so f t e m p o r a ld a t a b a s es y s t e m s t h e nw eg i v ei n t r o d u c t i o no f t h eo b j e c t o r i e n t e dd a t a b a s e c o n c e p ta n di m p l e m e n t a t i o nm e t h o d a tl a s tw ee x p a t i a t e d o nt h ed e s i g na n d i m p l e m e n t a t i o np r o c e s so fa no b j e c t - o r i e n t e dt e m p o r a ld a t a b a s em o d e lw h i c hb a s e s o nt h em i n i s t r yo f e d u c a t i o n sh u m a nr c s o u r c ea n ds a l a r yi n f o r m a t i o nm a n a g e m e n t s y s t e ma n dp u te m p h a s i so nt h ep r o c e s so fo b j e c t o r i e n t e dm o d e l i n ga n dt h e a l g o r i t h mo ft e m p o r a lq u e r y a l lt h e s ep r o v i d et h eb a s i cc o n d i t i o no ft h es u b s e q u e n t d e v e l o p m e n t i nr e a la p p l i c a t i o n 。 k e yw o r d s : o b j e c t - o r i e n t e d ,t e m p o r a ld a t a b a s e ,t e m p o r a lq u e r y 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得蠢壅盘茎或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:签字日期: 2 0 0 4年1 2 月2 0 日 学位论文版权使用授权书 本学位论文作者完全了解叁蔓态茎有关保留、使用学位论文的规定。 特授权基鲞盘壁可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名 导师签名: 太妖 签字日期:2 0 0 4 年1 2 月2 1 日 签字日期:f 年f l 月f 户日 天津大学硕士学位论文第一章绪论 第一章绪论 i i 面向对象的时态数据库技术简介 迄今为止,传统关系数据库r d b 经过3 0 多年的发展,在数据库方面取得了 极大的成功,提出并发展了一系列标准的数据库技术。但是,随着数据库应用的 日益发展,r d b 的缺陷也日益显现出来。r d b 主要缺陷如下: ( 1 ) 不能有效表示和处理复杂对象,如:列表,数组,矩阵等。 ( 2 ) 不支持用户定义的数据类型:因为r d b 的类型系统是封闭的,建模能力 差,不同类型数据转换代价大。 ( 3 ) 不支持面向对象中的一些概念:尽管支持存储过程,但不支持对象的封 装和继承,因此也不支持对象的重用。关系数据库的语义限制,使它无法适应更 高级的数据库的应用,譬如c a d 、工程系统、人工智能、多媒体等领域,这就需 要能力更强的数据模型。在8 0 年代中后期出现了面向对象技术,它为形成适合 高级数据库应用的数据模型奠定了很好的基础。面向对象数据库扩充了关系数据 库、它能够管理复杂对象( 如列表、矩阵、数组等) ,模拟复杂对象的复杂行为, 并具有强有力的类型定义工具。当然,它也支持面向对象技术中的概念。但是面 向对象数据库o o d b 的缺陷是,它目前仍然不是市场上的主流数据库,主要是因 为o o d b 技术还不是很成熟,而且与r d b 不兼容。 时态性质在许多实际应用中部扮演重要的角色,对某一对象的处理往往是在 某个特定时间下的对象处理,任何对象都是依赖于时间而存在的,时间是对象不 可缺少的属性。然而无论是传统关系数据库还是面向对象数据库,都没能把时间 的操作扩展进去,它们缺乏有效记录并处理时间信息的能力。 因此时态数据库技术应运而生。时态数据库是指能支持现实世界中与时间 有关的数据的存储与操作的数据库。它是针对传统数据库不能针对时间方面模拟 的缺陷而产生的。 近年来,在对象模型上添加时态信息管理成为时态数据库领域研究的一个重 要方向,而面向对象的时态数据模型的研究也必将对时态数据库技术的进一步发 展起到重要的推动作用。 天津大学硕士学位论文 第一章绪论 1 2 面向对象的时态数据库技术在人事工资管理系统中的应用 我国现行的人事工资政策具有复杂性、时间性和地域性等主要特点,各地的 政策在不同时期不尽相同。而人事工资管理决策系统的一大重要特点就是根据人 事方面的信息来反映人员工资的变动。而传统的数据库系统对数据进行静态的或 准动态的数据库管理。在数据库更新时,过时的数据将从数据库中删除,这就不 能反映出现实世界的动态过程,例如“张三的专业技术职务是1 9 9 2 7 至1 9 9 5 1 0 为助教,1 9 9 5 1 i 至2 0 0 0 1 0 为讲师,2 0 0 0 i i 至今为副教授”。在时态数据库中 过时的数据不再从数据库中删除,对历史数据也可以进行更新,使系统和现实世 界保持全方位的交换。在人事工资管理信息系统中人事信息具有很大的时态性, 其中影晌工资的信息主要有:参加工作时间、学历、职务级别、任职时间、年度 考核结果、奖励及处分等。比如说“连续考核三年优秀者工资晋升一档”。 另外在各单位人事部门的日常事务中,工资的调整无疑是一项令人头痛的工 作,一方面要查阅大量的工资政策和历史条款,另一方面要结合个人的具体信息, 比如考勤、职务变动等等。另外在涉及到调入人员及转业人员的录用工资时,要 涉及到他历年来的变动情况以及工资套改等复杂情况。由于我国现行的工资政策 也具有很强的时态性,因此在人事工资系统中引入时态数据管理将大大增强系统 的有效性。而将整个系统在面向对象的方法下建模能使系统更好的模拟现实世界 和减少重复开发。 1 3 本文主要研究内容 行了 态数 时态 库的 的背 对该 究。 本文针对现有的人事工资系统中因工资政策、人员信息变更引起的时态性进 讨论。并在教育都人事工资信患系统二期工程的基础上提出了面向对象的时 据模型j y br s g z 并详细论述了该系统的建模过程。 在本文中第二章芷要介绍了时态数据库的概念、发展和分类等,并且对现有 数据库技术发展栌亟待解决的问题进行了分析。第三章介绍了面向对象数据 基本概念、特征以及它和时态的结合。第四章详细介绍了j y br s g z 系统 景、体系结构,以及面向对象的建模过程和系统的时态查询语言。第五章针 系统存在的问题提出了建设性的建议,以期对今后进一步的开发做一定的研 天滓大学硕士学位论文 第二章时态数据库 第二章时态数据库 时间是自然界无所不在的客观属性,所有信息都具有相应的时态属性。随着 数据库与信息技术的深入和发展,信息系统面临许多新的应用和新的需求,对时 态信息处理的需求越来越迫切。在某些系统中,信息的时态性还起着关键性作用。 例如。在人事工资信息系统中,数据有很强的时态性。一个人员的工资需要根 据他的学历、职务及其获得时间等信息( 时态性数据) 来确定。 时态信息处理已成为许多新一代数据库与信息系统的关键技术,特别是电子 政务、电子商务、数据仓库、数据挖掘、决燕支持系统等信息系统中扮术和软件 产品还很少见时态信息技术越来越受到人们的关注,存在大量的诱入课题,是 数据库与信息系统一个薰要发展方向。 2 1 时态数据库的发展 时态信息的需求与技术实际上一直伴随着数据库技术的发展而产生和发展。 关于时态数据库的起源与发展,国际时态数据库权威学者t a n s e l 等在1 9 9 3 年共 同主编的“t e m p o r a ld a t a b a s e :t h e o r y ,d e s i g n ,a n di m p l e m e n t a t i o n ”收集了此 前时态数据库几乎所有的重要成果。唐常杰对时态数据库技术前2 0 年的发展做 了系统回顾。 时态特性是信息的客观存在,早在2 0 世纪7 0 年代就有人关注到时态信息的 应用。例如,1 9 7 0 年w i e d e r h o l d 和f d e s 在研制的医疗系统在处理时态信息方面 作了较早的尝试:1 9 7 7 年k a h nk e t a l 在a r t i f i c i a li n t a l l i s e n c e 上发表的 “m e c h a n i z i n gt e m p o r a lk n o w l e d g e ”反映了早期关于时态信息的基础性研究工 作。到7 0 年代束,数据库和大容量高速存储技术的日渐成熟和发展为时态数据 库技术的产生与应用创造了条件。加州大学洛杉矾分校b e n z v i 和纽约大学的 c l i f f o r d 在1 9 8 2 年的博士论文是时态数据库技术开创期的两个标志性成果。 8 0 年代初,数据库技术的日渐成熟和大容量高速存储设备的发展为时态技 术和数据库技术的融合创造了条件。在1 9 8 2 到1 9 8 6 年有8 0 多篇关于时态数据 库的论文发表,其中j b e n z v i ,j c l i f f o r d 和s o i n s b e r g 三位学者独自在时态数 据库方面做出了有先驱性的工作: j b e n z v i 于1 9 7 9 1 9 8 2 年对时态数据库做了开创性研究,他的博士论文( 加 j b e n z v i 于1 9 7 9 1 9 8 2 年对时态数据库做了开创性研究,他的博士论文( 加 天津大学硕士学位论文 第二章时态数据库 第二章时态数据库 时阅是自然界无所不在的客观属性,所有信息都具有相应的时态属性。随着 数据库与信息技术的深入和发展,信息系统面临许多新的应用和新的需求,对时 态信息处理的嚣求越来越迫切。在某些系统中,信息的时态性还起着关键性作用。 例如,在人事工资信息系统中,数据有很强的时态性。一个人员的工资需要根 据他的学历、职务及其获得时间等信息( 时态性数据) 来确定。 时态信息处理已成为许多新一代数据库与信息系统的关键技术,特别是电子 政务、电子商务、数据仓库、数据挖掘、决镱支持系统等信息系统中扮术和软件 产品还很少见,时态信息技术越来越受到人们的关注,存在大量的诱人课题,是 数据库与信息系统一个重要发展方向。 2 1 时态数据库的发展 时态信息的需求与技术实际上一直伴随着数据库技术的发展而产生和发展。 关于时态数据库的起源与发展,国际时态数据库权威学者t a n s e l 等在1 9 9 3 年共 同主编的“t e m p o r a ld a t a b a s e :t h e o r y ,d e s i g n ,a n di m p l e m e n t a t i o n ”收集了此 前时态数据库几乎所有的重要成果。唐常杰对时态数据库技术前2 0 年的发展做 了系统回顾。 时态特性是信息的客观存在,早在2 0 世纪7 0 年代就有人关注到时态信息的 应用。例如,1 9 7 0 年w i e d e r h o l d 和f r i e s 在研制的医疗系统在处理时态信息方面 作了较早的尝试;1 9 7 7 年k a h nk e t a l 在a r t i f i c i a li n t e l l i g e n c e 上发表的 “m e c h a n i z i n gt e m p o r a lk n o w l e d g e ”反映了早期关于时态信息的基础性研究工 作。到7 0 年代末,数据库和大容最高速存储技术的日渐成熟和发展为时态数据 库技术的产生与应用创造了条件。加州大学洛杉矾分校b e n z v i 和纽约大学的 c l i f f o r d 在1 9 8 2 年的博士论文是时态数据库技术开创期的两个标志性成果。 8 0 年代初。数据库技术的日渐成熟和大容量高速存储设备的发展为时态技 术和数据库技术的融合创造了条件。在1 9 8 2 到1 9 8 6 年有8 0 多篇关于时态数据 库的论文发表,其中j b e n z v i ,j c l i f f o r d 和s g i n s b e r g 三位学者独自在时态数 据库方面做出了有先驱性的工作: j b e n z v i 于1 9 7 9 1 9 8 2 年对时态数据库做了开创性研究,他的博士论文( 加 天律大学硕士学位论文 第二章时态数据库 州大学洛杉机分校,1 9 8 2 ) 总结了他的一系列工作,他的突出贡献在于以下几点: ( 1 ) 首先提出了时态数据库模型,引入了时间间隔( t i m e p e r i o d ) 。研究者 后来改称为时间区间。 ( 2 ) 1 9 7 9 1 9 8 2 年,正是关系型数据库规范型热点时期,b e n z v i 突破思 想禁区,研究非i n f 的时态数据库。 ( 3 ) 以时间区间做字段值,更新了入们认为数据库字段值只能是一个数或 字符串的旧观念。 ( 4 ) 引入了后来被称为双时态的概念,即用有效时间表示被管理对象在数 据库中的生命周期,用事务时间表示数据库本身的历史。 ( 5 ) 引入了时态索引结构。 j c l i f f o r d 子1 9 8 2 年对时态数据库做了开创性研究,他注意到被管理对象的 生命周期,研究在关系、元组、字段值上加时态信息的技术细节,引入了历史关 系模型( m m ) 、历史关系代数,研究了历史数据库中选择、投影,连接的特 殊要求和特殊规律,研究了历史关系模型和传统关系模型的兼容性,即当把区间 缩小为一点时,历史关系数据库退化为传统快照数据库,相应的时态代数运算退 化为传统关系快照运算。 美国南加利福尼亚大学的s + c r i v 培b e r g 教授于1 9 8 3 年提出对象历史模型 ( o b i e c th i s t o r ym o d e l ) ,它与其他的几十个t d b 模型有着显著的不同,它封装 了属性和函数,有面向对象的特性。它的数学模型与o o p 中的c l a s s 类似。对 象历史最初以可以计算对象的历史为研究背最,例如银行帐目、支票帐目、税务、 发票历史、证券经纪人数据。s c , i n s b e 蕾g 工作的突出贡献在于: ( 1 ) 深刻分析了基于可计算的对象历史的特殊要求和特殊规律,提出了基 于记录、事件驱动的代数结构模型。 ( 2 ) 研究内容与其他t d b 模型完全不交叉,对象历史模型强调了计算规律, 强调了历史+ 现状 未来的机制。 ( 3 ) 问题的提出和解决都接近于应用,尤其是金融系统的应用。 s h a r s h ik g a d i a 于1 9 8 6 年建立了同时性关系模型( h r m ) ,该模型因其实 现的查询语言t e m p s q l 而成名,称之t e m p s q l 模型。该模型兼容了s q l 的主 要功能,能查询被管理对象的历史、数据库本身插删改的历史,以及用户和数据 库本身出错的历史,保持了时态数据库和静态数据的无缝连接。 r i c h a r ds n o d g r a s s 于1 9 8 5 年左右开发的时态查询语言t q u e i 是q u e l 语言的时态 扩展。t q u e l 建立在双时态数据库模型上,支持有效时间和事务时间,两个时间 轴正交,互为独立。该模型建立了完备、复杂的理论,为t q u e l 语言指定了详细 的句法规范,在理论上深入研究了时态闭包、完全性、有效时间的不确定性、时 4 天津大学硕士学位论文 第二章时态数据库 态查询优化、时态约束,研究了t q u e l 和元组演算的语义关系,并得出一些较为 深刻的定理。 2 2 时态数据库的基本概念 一些盛名于时态数据库的专家对时态数据库中的一些基本概念做了一个分 类,这种分类根据4 个命名要求和9 个命名分类标准给出,反映了时态数据库的 一些基本概念,现做一简要论述: ( 1 ) 有效时间( v a l i d t i m e ) :在现实模型中个事实为真的时间称为该事实 的有效时间。有效时间可能跨越过去、现在以及将来。通常有效时间由用户来提 供。可替换的名字有现实世界时间( r e a l w o d dt i m e ) ,内在时间( i n t r i n s i ct i m e ) , 逻辑时间( 1 0 9 i ct i m o 。 ( 2 ) 事务时间( t r a n s a c t i o nt i m e ) :一个数据库实体从被存入数据库的某个 时间点开始,将一直存在于数据库中直到它被逻辑删除为止。一个数据库实体在 逻辑上存在于数据库的时间称为该数据库实体的事务时间。通常,事务时间由数 据库系统产生和提供。可替换的名字有注册时间( r e g i s t r a t i o nt i m e ) ,外在时间 ( e x t r i n s i ct i m e ) ,物理时间( p h y s i c a lt i m e ) 。 ( 3 ) 用户定义时间( u s e r - d e f i n e d t i m e ) :用户根据某种需要定义的时间,与 事务时间和有效时间无关。 ( 4 ) 有效时间关系( v a l i d t i m er e l a t i o n ) :是指支撑事实的有效时间的关系。 可替换的名称有:历史关系( 1 f i s t o r i e a lr e l m i o n ) 。 ( 5 ) 事务时间关系( t r a n s a c t i o n - t i m er e l a t i o n ) :是指支撑数据库事务时间的 关系。可替换的名字有:滚回关系( r o l l b a c k r e l a t i o n ) 。 ( 6 ) 快照关系( s n a p s h o r tr e l a t i o n ) :即传统的关系。可替换的名称有:关 系( r e l a t i o n ) ,传统的关系( c o n v e n t i o n a lr e l a t i o n ) ,静态关系( s t a t i cr e l m i o n ) 。 ( 7 ) 时态关系( t e m p o r a lr e l m i o n ) :是指同时支撑事实的有效时间和事务时 间的关系,也称为双时态关系( b i t e m p o r a lr e l a t i o n ) 。 ( 8 ) 事务时间片算子( t r a n s a c t i o nt i m e s l i c eo p e r a t o r ) 用于处理带事务时间 的关系的事务时间操作。 ( 9 ) 有效时间片算予( v a l i dt i m e s l i c eo p e r a t o r ) :用于处理带有效时间的关 系的有效时间操作。 ( 1 0 ) 时态元素( t e m p o r a le l e m e n t ) :是n 维时间坐标上有限个集合的并。 时态元素在集合论的与、或、非操作下是封闭的。 ( 1 1 ) 年历( c h r o n o n ) :是一种时间单位制。 天津大学硕士学位论文第二章时态数据库 ( 1 2 ) 时间戳( t i m e s t a m p ) :是一个具体时间值。 ( 1 3 ) 生命周期( 1 i f e s p a n ) :一个数据库对象存在的时间称为该数据库对象 的生命周期。数据库对象在现实模型中存在的时间称为有效时间的生命周期。数 据库对象在数据库中存在的时间称为事务时间生命周期。 ( 1 4 ) 时态均匀( t e m p o r a l l yh o m o g e n e o u s ) :一个时态元组是时态均匀的仅 当它的每个属性值的生命周期是一致的。 ( 1 5 ) 时刻( i n s t a n t ) :时间轴上的一个时间点称为时刻。 ( 1 6 ) 区间( i n t e r v a l ) :两个时间点之间所有时间组成的集合。 ( 1 7 ) 时态表达式( t e m p o r a le x p r e s s i o n ) :由时间变量和常量等用时态操作 有机构成的表达式。 ( 1 8 ) 独立于时间的属性( t i m e i n v a r i a n ta t t r i b u t e ) :它是指属性值不随时间 变化的属性。 ( 1 9 ) 时变属性( t i m e v a r y i n ga t t r i b u t e ) :它是指属性值可随时间变化的属 性。 有效时间和事务时间是时态数据库中两个很重要的概念。在数据库中,有效 时间和事务时间是任何一个对象均具有的时间属性。时间从本质上讲是一维的, 但在数据库中,对象的存在或发生的时间即有效时间是用数据库记录的,这些对 象又有一个在数据库中记录的时间,即事务时间。这两个时间对对象来说是相互 独立的,即事务时间可以是在有效时间之前、相等或之后。因此可以说,对在数 据库中的任意对象,其时间属性是二维的。 对象在时间上的这种二维性导致了某些种类的数据库。若在数据库中,主体 对象的事务时间都有大于有效时间的情形,则可称此数据库为历史数据库 ( h i s t o r i c a ld a t a b a s e ) 。若有效时间都有和事务时间相等( 或非常接近) 的情形,可 称此数据库为实时数据库( r e a l t i m ed a t a b a s e ) 。若有效时间小于事务时间,可称为 预测数据库( p r e d i c a t i v ed a t a b a s e ) 。 2 3 时态数据库的分类 时态数据库中一对重要概念是有效时间和事务时间,在数据库中有效时间和 事务时间是任何一个对象均具有的时间属性。早期的时态数据库研究者们大都把 注意力集中在关系模型基础上增加时态信息管理功能,由此得到了许多我们现在 称为时态关系模型的数据模型,从时态数据库支持的时态信息来分时态数据模型 可以分为: ( 1 ) 仅支持有效时间。 天津大学硕士学位论文 第二章时态数据库 ( 2 ) 仅支持事务时间。 ( 3 ) 同时支持有效时间和事务时间。 按这样的划分方式可将现有的时态数据库分为以下几类。 2 3 1 快照数据库 传统的数据库是将动态世界的某一时间点上的快照模型化,数据库当前的 内容是是数据库豹一个状态,这些内容并不一定能确实反映现实世界的当前状 态,当对数据库状态进行更改时( 插入、修改和删除操作) ,操作一旦提交立即 生效,旧的数据库状态即被丢弃,这就是快照数据库。 在关系数据库中,数据库是关系的集合。每一个关系都是带有同样属性元组 的集合,通常一个关系使用二维表格来袁示,例如在某一时刻关系“人员”拥有 两个属性“n a i l l e ”和“d u t y ”表示姓名和职务( 见下表2 - 1 ) ,比如为了获得人 员“张三”的职务可以使用以下q u e r y 语句: r a n g eo fpi sp e r s o n r e t r ie v e ( p d u t y ) w h e r ep n a m e = ”张三” 根据这个查询可得出张三的职务是副主任。但是很多情况下快照数据库的查 询是很不充分的。例如它不能回答诸如此类的问题: 三年前张三的职务是什么? ( 历史查询) 这三年以来人员的数量变化了多少? ( 趋势分析) 同样也不会记录类似这样的事实: 张三上个月被提升为副主任。 李四下个月将加入人员队伍。 没有系统在这方面的支持,许多应用程序不得不用专门的方法来保存和处理 时态信息,但是随着时间变化的事实的处理应该由数据库管理系统完成而不是某 一个特定的程序。 2 3 2 回滚数据库 快照数据库往往不能满足许多时态信息的需求。一个解决这些缺陷的方法就 是存储过去所有快照数据库变化的状态,并通过时间来索引,这里的时间采用的 是事务时间,指的是信息存储在数据库中的时间。这种数据库采用事务时间做为 第三轴,一个关系可以通过三维的方式表示,这种关系可以视为由事务时间索引 的若干快照关系系列。可以通过沿着时间轴移动来获得某一时间的关系快照或者 对某个关系快照进行查询。选择快照状态我们称为回滚,所以这种数据库称为回 天津大学硕士学位论文第二章时态数据库 滚数据库。对回滚数据库的修改只能对最近的快照进行,每一个事务的结果都会 形成一个新的事务状态被添加到时间轴的最右端。事务一旦确认,回滚关系的快 照状态就不能被修改。 回滚数据库和快照数据库的区别在于前者能够通过快照查询得到较早的一 个状态,t q u e l 通过将一个a so f 语句添加到r e t r i e v e 语句中来标识相关的事务时 间。例如以下的查询语句将返回人员张三在1 9 9 8 年的职务: r a n g eo fpi sp e r s o n r e t r i e v e ( p d u t y ) w h e r ep n a l l l e = ”张三” a so f “1 9 9 8 ” 支持事务时间的数据库的局限性在于数据库活动的历史时间被记录,而不是 现实世界的历史时闯。一个元组一旦进入数据库则开始生效。用户如果偶尔犯了 一个错误,一旦成为历史也无法修改。 2 3 3 历史数据库 回滚数据库记录的是若干快照状态的序列,而历史数据库记录的是每个关系 一个单独的历史状态( 即回滚数据库中记录的是快照的历史,历史数据库中只有 一个状态,但这一个状态记录了一个个关系的历史) 。出现错误时可以通过修改 数据库内容来更正。数据库自身以前的状态将不被保留,所以无法看到数据库过 去的历史,在这一点上历史数据库与快照数据库很相似。 历史数据库采用的是有效时间,有效时间的语义与现实世界的更相似因而比 事务时间的语义要复杂,因此在历史数据库中要执行很复杂的操作来充分实现有 效时间的复杂语义。t q u e l 通过增加一个v a l i d 子旬和一些关系例如o v e r l a p ,b e g i n o f 来对相关的有效时间进行操作,例如以下查询语句返回李四进入部门时张三的 职务: r a n g eo fp li sp e r s o n r a n g eo fp 2i sp e r s o n r e t r i e v e ( p 1 d u t y ) w h e r ep 1 f l a m e = ”张三”a n d p 2 n d 血l e = ”李四” w h e r ep lo v e r l a pb e g i no fp 2 历史数据库和回滚数据库的区别是,历史数据库的数据库管理系统支持任意 的修改,而回滚数据库的数据库管理系统只支持快照状态的添加。 8 天津大学硕士学位论文第二章时态数据库 2 3 4 时态数据库 由于回滚数据库的元组是从某一时间开始在一段时间内有效,而历史数据库 的元组是从现在开始的某一时刻有效,我们可以将支持事务时间和有效时间结合 起来实现两种方案的优点,这就是时态数据库。因而时态数据库数据库管理系统 可视为元组相对于某一时刻的另一时刻有效。 由于时态数据库涉及到有效时间和事务时间两个时间,所以有两个时间轴, 所以就必须用四维图来表示这个时态关系。 2 3 5 四种数据库的比较 由于对三种时间( 事务时间、有效时间、用户自定义时间) 的不同支持有了 四类数据库管理系统的分类。面有效时间和事务时间引发了两种不同的能力即历 史查询能力和回滚能力。四种数据库分别具有不同的能力,如下表: 回滚操作需要事务时间的支持,而历史查询需要有效时间的支持,支持用户 自定义时间和支持事务时间和有效时间是平行的,根据支持三类时间的不同可以 分为八类数据库。通常来说我们认为和事务时间相比,用户自定义时间与有效时 间更接近,因为用户自定义时间和有效时间都更关注现实世界的时间,而事务时 间更关注的是数据库模型所反映的时间,下表是四种数据库对有效时间和事务时 间支持的实例。 2 4 时态数据库的发展趋势及意义 时态数据库目前的研究工作的欠缺之处是:数学模型多,原型实现少;理论 研究多,应用研究少;以模型划分的学术门派多,真正支持t d b 的厂商少。各 个模型各持己见,数据库厂商难以下决心选用t d b 技术用于产品,这些因素都 很不利于t d b 的发展。所以在未来的研究中应该集中力量研究现有模型的融合 和实现,研究在人们普遍接受的关系数据库的基础上加入t d b 机制。而从1 9 9 4 年开始,如何将时态数据模型“标准化”和“产品化”成为学术界和各大数据库厂商 的重要目标。现今时态数据库的发展趋势是: ( 1 ) 时态数据模型朝着统一化、标准化方向发展,时态数据库咨询语言朝 着“产品化”方向发展。时态信息产品化工作还大有作为。 ( 2 ) 时态信息应用领域越来越广阔,渗入到科学实验信息系统、多媒体信 息系统、地理信息系统、市政信息系统、电信信息系统、电子政务、电子商务、 数据仓库等各个方面。 天津大学硕士学位论文第二章时态数据库 ( 3 ) 时态信息需求与处理越来越复杂,完全“统一”的时态数据模型难以实 现,仍然会有多种领域范围内“统一”的时态数据模型。时态信息产品将朝着“嵌 入式”、基于主流数据库技术与平台、面向领域的、面向应用的中间件和软件构 件等方向发展。 由于时态数据库有下列几个方面的特性:( 1 ) 动态性。传统的数据库系统对 数据进行静态或准动态的数据库管理。在数据库更新时,过时的数据将从数据库 中删除。在时间数据库中,过时的数据不再从数据库中删除,对历史数据也可以 进行更新,使系统和现实世界一赢保持着全方位的动态交换。( 2 ) 全面性。由于 数据库是所有数据的集合体,它不象现时数据库,而可以提供任何时刻和时间段 的数据,使数据库成为真正意义上的数据库。时间数据库在下列两个方面具有重 要意义:( 1 ) 使数据库成为真正意义上的资源清单。目前的数据库基本上不存储 1 目的、过时的数据,而时态数据库则包括任何历史数据,使数据库可以成为任何 一个系统和部门的完整的电子信息档案库。( 2 ) 为动态监测和分析提供了丰富的 数据。一方面,它可以为分析提供横肉的现势和纵向的历史数据,对历史、当前 和将来迸行对比、分析、监测和预测预报,从而为预测预报系统、决策支持系统 和其他分析系统服务。 1 0 天津大学硕士学位论文 第三章面向对象的时态数据库 第三章面向对象的时态数据库 在现实生活中,对某一对象的处理往往是对在某一特定时间下的对象的处 理。现实中的对象无法独立于时间而存在,即时间应该是对象的一个必不可少的 属性。然而无论是传统的关系数据库( r d b ) 或面向对象数据库( o o d b ) 都没有 把对时间的操作考虑进去,它们缺乏有效地记录和处理时间信息的能力,如:难 以方便地处理“七年前张三的工资是多少”这样的问题,而时态数据库则可以解 决这个问题。所谓时态数据库,指能够处理时间信息的数据库。传统数据库只记 录了数据的当前状态,在现实情况改变时,数据库也发生变化。而时态数据库不 仅存放对象的现状,而且存放对象过去的一切状态,并且可以根据对象现在和过 去的状态推测其未来可能的状态。 本章介绍了面向对象数据库技术与时态数据库技术的结合和其实现的方法。 3 1 面向对象数据库技术 传统的关系数据库( r d b ) 技术只能用于正文、数字型数据的事务处理。其 具体不足表现为: ( 1 ) 缺乏对复杂数据类型的支持。如对变长数据、非结构化字符串、图形、 图像、声音、动画信息等。而这些信息在传统的r d b 中无法存储、描述、操纵和 捡索。 ( 2 ) 缺乏对复杂结构对象的建模能力。由于r d b 仅允许用户用单一的关系建 模,并且所有的关系都必须在同一层次上。复杂对象的许多固有的语义或者丢失 或者由程序员自己来维护( 进行外码联接) 。 ( 3 ) 无法表达定义在复杂结构对象上的操作语义。r d b 的关系模型无法表达 和复杂对象密切相关的操作语义。这些操作语义只能由应用程序自己来定义和维 护。 ( 4 ) 缺乏对层次数据结构的支持。工程设计往往采用分层的设计方法( 通常 有自顶向下和自底向上两种) 。不仅要求有层次的结构,而且对于不同的设计对 象,层次的数目也不一样。而r d b 无法提供揭示数据层次的物理存储结构和方 便地处理这种层次的手段。 ( 5 ) 无法提供不同层次的抽象。数据库中的对象通常不是静态的而是随着 天津大学硕士学位论文第三章面向对象的时态数据库 环境的变化而不断演进。r d b 不能提供一种灵活性,对于同一对象可以从不同 的抽象层次来观察和处理。 ( 6 ) 缺乏版本和配置管理。工程设计往往是个试探性的过程,具有反复性、 尝试性和发展性,需要有对象的历史记录和同一对象的不同设计方案,这就是所 谓的版本。一个复杂的对象由许多的子对象构成,而这些子对象又有多个版本。 这就需要用版本配置将其组合成一个合理的复杂对象。而r d b 却不具备这种功 能。 ( 7 ) 缺乏导航式查询和关联查询访问。复杂应用中的对象的关系是大型的图 状结构,需要系统提供在对象图中的高效导航的能力。特别是多媒体对象实时性 强,要求较高的交互式能力。此外,对于大型的应用通过关联查询来访问对象也 是必须的。如在软件工程的应用中。查询调用某函数的所有模块。 ( 8 ) 程序设计语言和数据库语言之间存在着不协调。 由于程序设计语言和数据库语言是不同的计算模型( c o m p u t e rm o d e l ) ,不同的 类型系统( t y p es y s t e m ) ,如c 和s q l ,它们之间的数据交换需要复杂的转换工 作。数据库中的数据几乎完全丧失操作语义,数据访问的速度和可靠性均得不到 保证。 ( 9 ) 缺乏触发、约束和事件机制。新一代的数据库应用需要强大的和有效的 触发、约束和事件机制,以保证复杂应用建模的数据一致性。 f 1 0 1 数据类型固定,很难增加新的数据娄型。r d b 一般只提供几种固定的 数据类型,可扩充性差。难以满足高级应用的需求。 为此,人们开始研究新的数据库技术。经过研究与实践,在面向对象的程序 设计( d p ) 的启示和推动下,人们发现,结合面向对象( o o ) 概念和数据库功 能的面向对象的数据库( o b j e c t o r i e n t e dd a t ab a s e ,o o d b ) 是解决上述问题的 有效方法。 2 0 世纪8 0 年代中期以后,不少公司纷纷投入o o d b m s 的研制和开发,推 出了一批早期的o o d b m s 产品,例如g e m s t o n e ,o n t o s ,i t a s c a ,o b j e e t s t o r e 等。 这些产品有如下特点: ( 1 ) 由于当时没有公认的面向对象数据模型,更无这方面的标准。这些产品 在数据模型和数据语言方面不少借鉴面向对象设计的思想。 ( 2 ) 这些o o d b m s 产品在d b m s 结构、功能和实现技术方面借鉴了r d b m s , 例如普遍采用客户服务器结构,以事务做为数据库的处理单元,具有并发控制、 恢复和安全控制功能,在物理层采用簇集、索引等技术以提高性能。但是 o o d b m s 毕竟不同于r d b m s 在实现时有其特点。这些产品为o o d b m s 的实 现提供了最初的经验。 天津大学硕士学位论文 第三章面向对象的时态数据库 ( 3 ) 计算机辅助设计( c a d ) 、计算机集成制造( c i m ) 是当时被认为o o d b m s 最主要的应用领域。因此o o d b m s 普遍增加了c a d 、c i m 所需要的功能,例 如版本管理、长事务管理、c h e c ko u t c h e e ki n 机制等。但这些功能并非o o d b 所独有。 面向对象( o b j e c t o r i e n t e d ,0 0 ) 数据库系统是数据库与o o 技术相结合的 产物。面向对象数据库( 0 0 d b ) 产生之初就受到整个学术界和工业界的关注。o o 数据模型比传统数据模型具有许多优势,如具有表示和构造复杂对象的能力、通 过封装和消息隐藏技术提供了程序的模块化机制、继承和类层技术提供了软件的 熏用机制、通过滞后联编等概念提供了系统扩充的能力等。但由于0 0 d b 至今没 有统一的标准,这又致使o o d b 的发展缺乏通用的数据模型和坚实的形式化的理 论基础。 自第一代层次和网状数据库技术、第二代关系数据库技术的蓬勃发展,8 0 年代以来,不同领域的应用提出了许多新的数据管理需求,数据库技术的研究和 发展进入了新时代,其中的一个重要特点是:将面向对象的思想、方法和技术引 入数据库。 在面向对象技术和数据库技术相结合的过程中,基本上是沿着两种途径发展 的:一种实现途径是建立纯粹的面向对象数据库管理系统( 即0 0 d b m s ) 。这种途 径往往是以一种面向对象语言为基础,增加数据库的功能,主要是支持持久对象 和实现数据共享。面向对象的数据库不仅在处理多媒体等数据类型时可以做到游 刃有余,而且在应用系统开发速度和维护等方面有着极大的优越性。面向对象数 据库系统产生于8 0 年代后期,它利用类的设施来描述复杂对象,利用类中封装 的方法来模拟对象的复杂行为,利用继承性来实现对象的结构和方法的重用。面 向对象数据库系统对一些特定应用领域( 例如c a d 等) ,能较好地满足其应用需 求。但是,这种纯粹的面向对象数据库系统并不支持s o l 语言,在通用性方面失 去了优势,因而其应用领域受到了很大的局限。 第二种实现途径是从传统的关系数据库加以扩展,增加面向对象的特性,把 面向对象技术与关系数据库相结合,建立对象关系数据库管理系统( 0 r d 踟s ) ( 注 意,在这里使用了“对象关系数据库”这个词,因为此实现既非纯粹的面向对象 的数据库也非纯粹的关系数据库,它代表两者的结合) ,这种系统既支持已经被 广泛使用的s o l ,具有良好的通用性,又具有面向对象特性,支持复杂对象和复 杂对象的复杂行为,是对象技术和传统关系数据库技术的最佳融合。对象技术和 关系技术珠联璧合的优点,吸引着全球数据库厂商竟相研究开发。如何在现有的 关系型数据库产品中加入对象技术,即开发面向对象的关系型数据库成为数据库 软件厂商竞争的一个焦点。 天津大学硕士学位论文第三章面向对象的时态数据库 3 1 1 面向对象数据库系统的基本特征 面向对象数据库是将面向对象的模型方法和机制与先进的数据库技术进行 有机结合而形成的新型数据库系统这种数据库系统从关系模型中脱离出来,强调 在数据库框架中发展类型数据抽象、继承和持久性的概念。它的研究和开发从底 层做起,而不是依附现有的系统,即把整个数据库完全建立在新的对象模型之上。 2 0 世纪8 0 年代末,a t k i n s o n 根据自身的研究经验,发表了面向对象数据库 系统宣言,第一次以宣言的形式对面向对象数据库系统的概念和特征进行了讨 论。该宣言描述了做为一个合格的面向对象数据库系统所具备的主要性质和特 征。这些特征可以分为三个方面: ( 1 ) 必备的:被称作面向对象数据库系统必须满足的特征,它们是,复杂 对象、对象标识、封装性、类型或类、继承性及迟后绑定重载、可扩充性、计算 完备性、持久性、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版卫星通信系统建设项目合同
- 2025版工业自动化控制系统设备监造与维护合同
- 2025年度网络安全产品保密协议范本
- 2025建筑工程劳务合同样本
- 2025年私人住宅渗水修复合同协议
- 2025企业合同管理指南合同履行与监督实施细则文档模板
- 语文专业知识培训心得
- 红色船员基础知识培训课件
- 红色家书课件带稿
- 企业资产保理融资合同
- GB/T 5907.4-2015消防词汇第4部分:火灾调查
- GB 31701-2015婴幼儿及儿童纺织产品安全技术规范
- 健身理论与指导课件讲义
- 浙江省科学作业本2022版四年级上册作业本参考答案
- 2023年中远海运船员管理有限公司招聘笔试题库及答案解析
- 美国共同基金SmartBeta布局及借鉴
- 企业劳动用工法律风险与防范
- 普通逻辑ppt课件(完整版)
- 2022年08月安徽省芜湖市招考大学生科技特派员岗位冲刺题(带答案)
- 国家城镇救援队伍能力建设与分级测评指南
- DB32∕T 4065-2021 建筑幕墙工程技术标准
评论
0/150
提交评论