(计算机软件与理论专业论文)时态对象关系映射的研究与实现.pdf_第1页
(计算机软件与理论专业论文)时态对象关系映射的研究与实现.pdf_第2页
(计算机软件与理论专业论文)时态对象关系映射的研究与实现.pdf_第3页
(计算机软件与理论专业论文)时态对象关系映射的研究与实现.pdf_第4页
(计算机软件与理论专业论文)时态对象关系映射的研究与实现.pdf_第5页
已阅读5页,还剩77页未读 继续免费阅读

(计算机软件与理论专业论文)时态对象关系映射的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中山大学顺二匕学位论文 时态对象关系映射的研究与实现 时态对象关系映射的研究与实现 计算机软件与理论 硕士生:梁森 指导教师:汤庸教授 摘要 信息系统对时态信息处理技术的应用需求越来越迫切,目前时态信息应用 系统的开发都迫切需要一个基础的时态信息处理工具来辅助相关的时态信息技 术处理。受到传统的对象关系映射技术的启发,在关系数据库基础上开发一个 时态对象关系映射工具来提供时态对象的持久化服务,将对提高时态信息应用 系统的开发效率有着相当重要的意义。 本文首先介绍了时态对象关系映射研究相关的基础理论,如时态信息基础 理论和对象关系映射的相关概念等。接着通过引入时态函数依赖、时态候选码 概念,深入研究时态数据在关系数据库的存储问题后提出了时态数据在关系数 据库中的一种存储设计方案。接着在一些学者的研究成果基础上,构造了一个 时态对象结构的代数模型以及对应的映射模型的文本表示定义。最后介绍了对 h i b e r n a t e 进行时态扩展的时态对象关系映射工具t h i b e r n a t e 的设计思想、系统 结构以及具体实现,并描述了面向时态的对象查询语言t h q l 的设计和实现, 以及给出一个应用t h i b e r a n t e2 1 2 具的示例。 本文的主要工作和贡献是结合本文提出的时态数据的存储设计和时态对象 结构的代数模型给出映射模型的文本表示定义。并在此基础上,对h i b e r n a t e 进行扩展实现了一个时态对象关系映射工具t h i b e m a t e ,为时态时态信息应用 系统开发提供了一个有力的工具。 关键词:时态对象关系映射,映射模型,时态函数依赖,时态候选码,时 态对象查询语言 中山大学硕士学位论文 时态对象关系映射的研究与实现 t h es t u d ya n di m p l e m e n t a t i o no ft e m p o r a lo b j e c t r e l a t i o n a lm a p p i n g c o m p u t e rs o f t w a r ea n dt h e o r y n a m e :l i a n gs e n s u p e r v i s o r :t a n gy o n g ( p r o f e s s o r ) a b s t a r c t w i t ht h er a p i dd e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g y , t h e r ea r em o r ea n dm o r e d e m a n d so np r o c e s s i n gt e m p o r a li n f o r m a t i o n n o w , d e v e l o p m e n t so ft e m p o r a l i n f o r m a t i o np r o c e s s i n gs y s t e m sa r ee a g e rf o rab a s i c a lt e m p o r a li n f o r m a t i o n p r o c e s s i n gt 0 0 1 e n l i g h t e n e db yt h et r a d i t i o n a lo b j e c tr e l a t i o n a lm a p p i n gt e c h n o l o g y , i ti sr e a l l ys i g n a t i v et od e v e l o pas i m i l a rt e m p o r a lo b j e c tr e l a t i o n a lm a p p i n gt o o lf o r t h ed e v e l o p m e n to ft e m p o r a li n f o r m a t i o na p p l i c a t i o n b yf o l l o w i n gt h et h o u g h to ft e m p o r a li n f o r m a t i o na n df o u n d a t i o n s o ft h e t r a d i t i o n a lo b j e c tr e l a t i o n a lm a p p i n g ,t h i sp a p e rp r e s e n t sat e m p o r a ld a t as t o r a g e s o l u t i o nw h i c hi sb a s e do nt h ed e f i n i t i o n so ft e m p o r a lf u n c t i o n a ld e p e n d e n c ya n d t e m p o r a lc a n d i d a t ek e y a n dt h e na na l g e b r a i cm o d e lo fs t r u c t u r eo ft e m p o r a l o b j e c t sa n di t sr e s p o n d i n gm a p p i n gm o d e la r ei n t r o d u c e d ,w h i c ha r eu s e df o rt h e c o n s t r u c t i o no ft h et e m p o r a lo b j e c tr e l a t i o n a lm a p p i n gt o o lt h i b e m a t e f i n a l l y , t h i s p a p e rs h o w st h ed e t m l so ft h ed e s i g n ,i m p l e m e n t a t i o na n du s a g e o ft h et h i b e m a t e , a n da l s og i v e st h ef o r m a ld e f i n i t i o no ft h et e m p o r a lo b j e c to r i e n t e dq u e r yl a n g u a g e t h q l ,w h i c hi sat e m p o r a le x t e n s i o no f t h eh q l ( h i b e r n a t eq u e r yl a n g u a g e ) t h em a i nc o n t r i b u t i o n so ft h i sp a p e ra r ea sf o l l o w s :f i r s t ,b yc o m b i n i n gt h e t e m p o r a ld a t as t o r a g es o l u t i o nw i t ht h ea l g e b r a i cm o d e lo fs t r u c t u r eo ft e m p o r a l o b j e c t s ,i tw o r k so u ta f o r m a lt e x tf o r m a t t i n gd e f i n i t i o no ft e m p o r a lo b j e c tr e l a t i o n a l m a p p i n gm o d e l t h e nw i t ht h i sp r o d u c t i o n ,at e m p o r a lo b j e c tr e l a t i o n a lm a p p i n g t o o lc a l l e dt h i b e m a t ei sd e v e l o p e dw h i c hi sat e m p o r a le x t e n s i o no ft h eh i b e r n a t e a n dt h i st o o li sap o w e r f u lt o o lf o rt h ea p p l i c a t i o nd e v e l o p m e n tr e l a t e dt ot e m p o r a l i l l 时态对象关系映射的研究与实现 i n f o r m a t i o np r o c e s s i n g k e yw o r d s :t e m p o r a lo b j e c tr e l a t i o n a lm a p p i n g ( t o r m ) ,m a p p i n gm o d e l , t e m p o r a lf u n c t i o n a ld e p e n d e n c y , t e m p o r a lc a n d i d a t ek e y , t e m p o r a lo b j e c t o r i e n t e dq u e r yl a n g u a g e 中山大学硕:e 学位论文时态对象关系映射的研究与实现 第1 章绪论 本章概要性地论述了时态信息系统在时态持久层可能的解决方案,时态对 象关系映射的研究背景和应用现状,简要综述了本论文的研究内容,方法与意 义,同时介绍了本文的组织结构。 1 1 引言 时间是现实事物的一个重要属性,是自然界无所不在的客观属性,所有信 息都具有相应的时态属性 1 。时态信息应用已经在电子政务,电子商务,银行, 医疗等信息系统中扮演着日益重要的角色,而传统的非时态的关系数据库对于 处理时态信息时只能提供一般的时间戳数据的支持,这就使得传统的时态信息 系统是在需要在信息系统中进行专门的时态逻辑处理。 而时态数据库就是指能处理时态信息的数据库,它的研究和发展的初衷就 是解决传统关系数据库不能很好处理时态信息的弊病,1 9 8 2 年至今,计算机学 术界已经提出了数以百计的时态数据库模型和时态信息处理方法,而且在1 9 9 4 年后,人们开始注重时态数据模型标准化以及产品化,规范主要有 s q l t e m p o r a l ,a t s q l 2 ,而商业产品主要有瑞士t i m e c o n s u l t 公司在1 9 9 8 年 推出的t i m e d b2 0 。但是我们也发现时态数据库原型系统少,实际应用的商业 化完全时态数据库系统基本没有。 从长远来说,我们都认为时态信息系统使用完全的时态数据库管理系统的 是最好的解决方案,但是目前并没有性能和效率都很好的商业化的完全时态数 据库产品,而另一个解决方案就是基于比较完备的关系数据库系统上构建一个 处理时态逻辑的中问件,t i m e d b2 0 就是这个方案的一个典型的产品。它是现 有商业关系数据库( 例如o r a c l e ) 的专门处理时态逻辑的前端软件。但t i m e d b 2 0 本身也存在很多问题,例如t i m e d b 系统与后台d b m s 职责划分不明造成 效率低下,可移植性不高,不支持多用户同时操作等缺点 2 。 现有的大型商业数据库系统提供商目前都没有研发完全时态数据库管理系 统的迹象,而没有大量资源支持下,单靠时态数据库研究人员是难以研发出符 j 、j 态对象关系映射的1 i j | _ 究与实现 合商业要求的完备的数据库管理系统的,这也是时态数据库理论出现二十多年 后,仍没有一个令人满意的完全时态数据库系统的原因之一。 现时时态信息技术仍处于研究和应用阶段,时态数据模型研究朝着统一化 和标准化的方向发展,时态数据库的查询语言的实现也朝着产品化的方向发展。 但是在当前和将来很长一段时间,关系数据库仍然是主流的技术平台,时态数 据库模型不会脱离和抛弃关系数据库这一主流,而是在主流关系数据库模型上 加上处理时态信息的能力,“时态”将作为一个功能性修饰词。 目前在研究人员主要都向构建基于传统关系数据库的时态数据库中间件的 方向研究。t d b e n g i n e 时态数据库中问件 2 也是我们实验室在这个方向上的一 个研究成果。但我们在实际的时态信息系统的开发过程中发现,在时态数据库 中n = l j 件的支持f ,开发人员仍需要低效率地使用时态查询语言处理时态持久化 层的数据访问细节。所以,解决丌发过程中时态域对象模型和关系模型之间的 映射问题( 即时态对象关系映射) ,将会极大的推动时态信息系统的实际应用。 1 2 国内外研究和应用现状 1 2 1 时态概念模型 在开发时态信息系统过程中一般都需要进行时态域对象模型的设计,由于 缺乏统一的时态域对象建模工具的支持,如何进行清晰有效的时态相关的建模 工作是当前时态信息系统开发面临的一个主要的问题。在本实验室过往的实际 开发过程中,我们一般使用有强大商业产品r a t i o n a lr o s e 支持的u m l ( u n i f i e d m o d e l i n gl a n g u a g e ) 进行建模,而时态相关部分,我们在另外的文档加以说明 并在程序中耦合相关的时态逻辑处理,这也是文献 3 付旨出的混合式时态应用的 开发模式。 而数据库学者们也在这个领域做了很多工作。早在7 0 年代就已提出了许多 语义模型,r e sc h e n 于1 9 7 6 年提出的实体一关系( e r ) 模型就是其中的佼佼 者 4 。由于e r 模型在i t 业的广泛应用,成为数据库概念模型的事实标准。很 多时态数据库领域学者也在e r 模型上进行时态扩展提出了很多时态概念模 中山大学硕:匕学位论文时态对象关系映射的研究与实现 型。时态概念模型是指在传统的概念模型上支持三种时间维中至少一种的概念 模型。时间维包括有效时间,事务时间,用户自定义时间等。在h g r e g e r s e n 等人的文献 5 列出了以往一些主要时态概念模型,而他们也在文献 6 】对十一个 主要的时态扩展的实体关系模型进行了比较,包括模型e e r ,t e r m ,r a k e , e r t ,s t e e r ,t e r 和t e m p r t ,更重要的h g r e g e r s e n 和c s j e n s e n 还在该 文献 6 中提出了从时间语义,模型语义,时态功能和易于使用性等几个方面对 时态概念模型表现力进行评价的1 9 条准则。 我们发现上面提到的时态概念模型采用的时态扩展方法各不相同,有的甚 至是针对某一领域的软件项目的需要的。虽然其中的一些时态概念模型提供了 模型的图形编辑器,但是缺乏商业开发工具的配套,不能奢求实际开发团队投 入精力学习和使用不具有通用性并没有经过实践证明的概念模型。这也是造成 当前时态信息理论和技术实践脱节的主要原因之一。 1 2 2 非时态的对象关系映射 七十年代以来,面向对象技术逐渐兴起,c + + ,j a v a 等面向对象语言也逐 渐占据了软件开发语言的主导地位。而1 9 8 9 年到1 9 9 4 年间,建模语言的从1 0 多种激增到5 0 多种,一度爆发了“方法大战”。通过从实践中学习,九十年代 中期新的一代方法开始出现,一些明显突出的方法脱颖而出,其中著名的有 b o o c h 方法、j a c o b s o n 的o o s e 方法和r u m b a u g h 的o m t 方法。这些方法中的 每一种方法都是完整的,但是每- s 0 方法又被认为各有优点和缺点。简单的说, b o o c h 方法在项目的设计和构造阶段的表达力特别强;o o s e 对以用况作为一 种途径来驱动需求捕获、分析和高层设计提供了极好的支持;而o m t - 2 对于分 析和数据密集型信息系统非常有用。虽然它们的主导思想和所采用的主要概念 与原则大体上是一致的,但是也存在着不少符号和表达的差异 7 。这些差异不 利于面向对象方法向一致的方向发展,也会给用户的选择造成困惑。这是u m l 产生的主要原因。u m l l 1 版本于1 9 9 7 年被对象管理组织( o m g ) 正式接纳 为一种标准建模语言。 u m l 提供了面向对象的软件开发过程的分析设计阶段所需要的建模语言, 随之而来的问题是如何提高软件开发的实现阶段的对象域模型和关系数据模型 中i j l 大学硕士学位论文 时态对象关系映射的硼f 究与宴现 ( 因为一般使用关系数据库) 映射的编码效率。 m a r kl f u s s e l l 在文献 8 描述了对象关系映射( o b j e c tr e l a t i o n a lm a p p i n g , 简称o r m ) 必需的一般概念和方法,详细讲述了如何把对象映射到关系模型 中去,并给出了五种对象关系映射的量级: 1 纯关系型客户端程序( 相对于关系数据库) 直接操纵数据库的表列, 直接面向关系数据模型编程。 2 轻度对象映射客户端程序对一些实现对象特定存取功能的s q l 语句 进行封装,和其他业务逻辑代码进行分离。 3 中度对象映射可以灵活把元组转化为特定类型的对象,并管理刘象问 的关系,可以允许客户端程序使用面向对象的查询语句,并把这些面向 对象查询语言转化为相应的s q l 语句。 4 高度对象映射和中度对象映射类似,但允许更灵活的类型定义( 包括 继承和聚合) ,能管理客户端对象状态和数据库的同步。 5 对象服务提供对象服务器,由月务器提供对象生存和持久化管理,客 户端程序可以通过面向对象的查询语言从对象服务器获取对象使用。 选择不同对象关系映射量级的技术会极大影响整个系统性能,代价,开发 时问,可扩展性以及可维护性。这五个量级没有1 个能对于任何应用场合来说 都是最好的。尽管一般来说越高量级的刘象关系映射的解决方案会给软件持久 化层开发带来更多的方便,但对于一些特殊的应用( 例如银行数据库核心处理 层) ,纯关系型的解决方案更适合。 由于对象关系映射解决的是软件实现阶段的面柚关系的持久化层技术问 题,并由于有e r 等面向关系的概念模型理论的支持,存在专门的对象关系映 射理论少而工具多的场面。下面用上述五个量级来简要评价一下当前在j a v a 领 域存在的o r m 具:严格来说,纯关系型映射方式不属于o r m 范畴,一般 在以面向过程的方式或面向过程和面向对象混合方式使用j a v a 语言开发的软 件系统中使用,在这些软件系统不存在域对象模型。而轻度对象映射的方式是 指在软件系统中架构个专门针对特定数据库的数据库访问处理层,通过使用 中山大学硕士学位论文 时态对象关系映射的研究与实现 该数据库访问层一定程度上减少了数据持久化层的冗余代码,但是还是处理大 量相关的s q l 语句。中度和高度对象映射工具一般都提供动态定义对象属性和 数据库表的映射定义功能。目前j a v a 领域比较流行的o r m 工具基本上都属于 这两个量级,例如有i b a t i s ,h i b e r n a t e ,t o p l i n k ,j d o 等等,其中i b a t i s 属于 中度的,而h i b e r n a t e 是典型的高度对象映射功能的o r i v l 工具。而对象服务方 式的对象映射级的典型实现方案要首推属于j 2 e e 框架的e j b 技术 9 。在j 2 e e 架构中,实体e j b 的c m p 模式持久化工作是由e j b 容器自动管理的。但e j a 的 c m p 模式是一种重量级解决方案,只能运行在e j b 容器中,而且实际的移植性 受到各种限制,并不像e j b 规范宣称的那样具有很好的可移植性,e j b 2 0 提倡 的实体e j b 应用前景不乐观。 现在j a v a 领域的诸多o r m 工具中,h i b e r n a t e 取得压倒性的胜利,并向成 为j a v a 的o r m 工具的事实标准的目标稳健前进,而e j b 2 0 里的实体e j b 解 决方案基本上被i t 业界抛弃了。去年出台的e j b 3 0 标准也开始注意借鉴 h i b e r n a t e 等一些轻量级o r l v l 解决方案的优点,它是否能取得更多的用户接纳, 我们将拭目以待。这些事实表明了用户更倾向于选择具有简单的部署描述和简 明的接口以及能减轻开发的复杂性的o r m 工具,而h i b e r n a t e 是它们中的佼佼 者。 1 3 本文的研究思路和研究意义 在前面对时态概念模型和非时态对象关系映射的有关研究和应用的分析基 础上,本节对论文的主要工作进行概述,包括论文的主要目标、研究思路、创 新点等等。 1 3 1 问题的提出 由前文的论述可知,时态信息研究领域的时态概念模型种类繁多,离统一 标准和实际商用的目标还有很远的路要走,造成了时态信息研究和时态信息技 术应用的脱节,如何有效利用已有时态信息研究成果对现今的时态信息系统开 发提供帮助是当前时态信息研究领域的一个重要课题。而当前非时态的o r m 工具已经大量被使用,极大提高了传统的非时态的信息系统的开发效率,这给 中山大学倾一| :学位论文 时态剥象关系映射的研究与实现 了我很大启发:利用现有的时态信息研究成果在传统的关系数据库上构建一个 时态对象关系映射的工具将是一个很实用的解决方案。 首先,虽然能够提供时态支持的时态概念模型很多,比如上文提到的e e r , t e r m ,r a k e ,e r t ,s t e e r 等等,但是它们之间存在许多概念和符号规定 差异,统一化标准化工作的道路还很长,从而缺乏商业应用的实践检验,仍然 停留在研究的理论层而,对现今越来越多的时态信息系统开发没有带来直接的 帮助,也造成了时态信息研究和应用严重脱节的尴尬局面。 其次,当前由于缺乏完全的时态数据库系统,基于完全的时态数据库系统 支持的完全时态应用模式 3 】开发时态信息系统只能是一种奢望。而实际的措施 是退而求其次,使用嵌入式时态应用模式 3 进行时态信息系统的开发,是指通 过一些时态处理开发工具( 时态中间件) 来实现应用系统中的时态信息处理功 能,底层数据库系统仍采用传统的荚系数据库。 最后,在使用嵌入式时态应用模式丌发时态信息系统的前提f ,选用相关 时态中间件也有两个选择:选用使用a t s q l 2 等一些时态查询语言作为应用接 口的时态中间件,例如t i m ec o n s u l t 公司的t i m e d b 、我们实验室开发的 t d b e n g i n e 等都是这样一些时态处理中间件;另一选择是选用类似传统的o r m :【:具一样提供时态对象关系映射的时态o r m 工具。值得注意的是后者并没有 得到时态信息研究领域专家的重视,这是由于时态信息的研究成果很多,但是 还有很多没有好解决的问题,研究界更倾向于构造提供时态数据查询语言支持 从而可以验证一些时态理沦的前者,而不是选择当前实用意义更大的后者。 在明确了当前时态信息研究成果利工具对时态信息系统的丌发提供的支持 不足之后,本论文将研究内容确定为对时态对象关系映射的进行理论的分析和 描述,并在此理论研究的基础上,对传统非时态的o r m 工具h i b e r n a t e 进行扩 展开发,给时态信息系统的开发提供一个时态对象关系映射( t e m p o r a lo b j e c t r e l a t i o n a lm a p p i n g ,简称t o p m ) 工具,提高时态信息系统的开发效率。 1 3 2 主要研究思路及创新点 提出新的时态对象关系映射理论分析和研究之前,一般需要构建或者使用 中山大学硕士学位论文时态对象关系映射的研究与实现 一个已有的有足够丰富语义的、适用于各个领域的时态概念模型。但鉴于本文 的出发点就是提供实用的时态对象关系映射工具,强调实用性,不想纠缠于在 近期难以对实际时态信息系统开发提供帮助而又种类繁多的时态概念模型,也 不想再提出一套令人难懂且难以提供实际开发支持的符号体系,所以在我采用 数学形式化的方法进行定义和分析时态对象结构模型 1 0 1 1 1 1 2 ,并在必要的 时候提供一些简单易懂的图形符号进行说明。 在对时态对象域模型实行数学形式化描述的基础上,将建立同样用数学形 式化描述的关系数据模型和时态对象关系映射模型,此模型将说明了如何进行 时态对象到关系数据模型的一般映射方法。需要指明的是,由于本文采用数学 形式化的方法,可以对时态对象关系映射进行本质上的描述,一定程度上不会 局限于不同的时态概念模型以及它们描述符号,理论上可以比较方便通过进行 语义扩展来适合不同的时态概念模型。 形式化的时态对象关系映射理论的分析主要为实现一个扩展h i b e r n a t e 的时 态对象关系映射工具提供理论支持。在扩展h i b e r n a t e 时,还会基于h i b e r n a t e 内置的面向对象的查询语言h q l ( h i b e r n a t eq u e r yl a n g u a g e ) 进行时态扩展。 本论文研究工作的主要贡献及创新点可以总结为以下两个方面: ( 1 ) 使用数学形式化的方法建立了一个时态对象关系映射的代数模型 针对目前时态概念模型种类繁多,还需要大量的统一化标准化工作才可以 进行实用,而且统一化过程必须考虑和现有的u m l 统一建模语言进行某种程 度上的结合。基于实用意义,我在本文不打算再提出新的时态概念模型,只使 用数学形式化方法进行时态对象结构的代数模型的定义,并在此基础上使用数 学形式化方法建立一个时态对象关系映射的代数模型,使得本文的时态对象关 系映射更具有普遍性,保证时态对象关系映射代数模型的通用性,方便以后针 对统一化后的确定的时态概念模型进行扩展应用。 ( 2 ) 在h i b e r n a t e 基础上实现了一个t o r m 工具t h i b e r n a t e ,并提供一个 面向时态对象的时态对象查询语言t h q l ( t e m p o r a lh q l ) 在h i b e r n a t e 的基础上进行时态扩展,实现一个提供时态对象持久化和面向 7 中山大学项二1 。学位论文 时态对象关系映射的研究与实现 对象的时态查询语言支持的t o r m 工具,使得可以利用该t o r m 工具可以方 便构建时态信息系统,刺嵌入式时态应用模式进行新的探索和验证。 1 4 论文的组织结构 本文由六个章节组成。 第1 章概要性地沧述了当前时态概念模型和传统的非时态对象关系映射的 研究背景和应用现状,提出当前时态信息系统需要面临的问题,简要综述了本 论文的研究内容,方法与意义,同时介绍了本文的组织结构。第2 章阐述了文 中涉及的基础理论知识,包括时态信息理沦、传统的对象关系映射以及形式化 描述对象模型的介绍。第3 章详细描述本文提出的时态候选码的定义,以及它 在时态数据的关系数据库存储设计上的应用,并提出了时态立方体数据模型。 第4 章详细阐述了时态对象关系映射的代数模型研究内容,包括时态对象结构 的代数模型以及时态对象关系映射的文本表示的形式化描述。第5 章介绍了时 态对象关系映射:i 具的实现,工具的整体框架,继承关系和关联关系的映射实 现进行了描述,并给出了时态对象查询语言的定义,最后还给出了t o r m 工具 的应用例子。第6 章主要是总结了所作的工作和指明进一步努力的方向。 中山大学硕士学位论文时态对象关系映射的研究与实现 第2 章相关理论基础 本章阐述了文中涉及的基础理论知识 1 3 ,包括时态信息理论、传统的对象 关系映射以及形式化描述对象模型的介绍。 2 1 时态信息基础理论 在理论物理学家关于宇宙的大爆炸的假说中,时间开始于大爆炸的那一瞬 间:至于是否有终点,他们并没有给出答案。时间随着宇宙的爆炸还在不断地 扩展。本节主要介绍时态对象关系映射所用到的一些时态信息的基础理论,包 括时态信息的基本元素和时态数据库的一些基本概念。 2 1 1 时态信息元素 时态信息元素就是指表示时间信息的元素,时问元素在时态信息系统中有 着基础的地位,它对于正确有效的表达记录的时间属性有着重要的意义。对于 时间元素来说,出于表达的需要,它有许多具体的形式,有的是离散的时间点, 有的是连续的时间区间,当然还有较为复杂的情形集合形式。它的主要有 三种基本的表现形式: 1 时问点( t i m ei n s t a n t ) 时间点是时间轴上的一点,它是和时间粒度是相关的。选择适当的时间粒 度,就可以准确的描述现实世界事件发生及变化的状况。例如,1 9 9 5 年3 月1 日,时间粒度精确到“天”。如果系统使用的最小时间粒度是“秒”,则该时间 点在系统内的表示必须换算成1 9 9 5 年3 月1 日0 时0 分0 秒。 与时间点相关的概念还有时间量子( c h r o n o n ) ,它是指时态系统所支持俄 最小的,不可分割的时间问隔。这是由于现实的连续时间点的间隔可以是无穷 小的,而实际的计算机系统支持的离散化的时间点之间的间隔是确定的,时间 量子是系统记录时间属性的精确程度的一个度量。时间量子越小,系统记录的 精确度越高。现实生活中不同时刻发生的事情可以在同一个时间量子内,但计 ! 型芝! 差竺兰:! ! ! 垡苎 f 堕查翌墨苎墨唑盟堕! ! 塑兰壅里 算机系统会认为它们是同时发生的,因为它们处于i 司一时间量子里。 2 时间跨度( t i m es p a n ) 时间跨度( t i m es p a n ) 是指持续的一段时问,表示时问的长度。例如:“ly e a r 3m o n t h ”,“3 0 天”、“2 8 小时”等。在数据库系统内,一般用一个整数表示时 间跨度。 与时间区间类似,时间跨度也是表示一段时间;所不同的是,时间跨度没 有时间起点,也没有时间终点。从这个意义上来说,时间区间是一个矢量,而 时间跨度是一个标量。 3 时间区间( t i m e i n t e r v m ) m j 间区间是通过描述时间段的起始和终止点来描述一段时间。时间区间是 指一段f i g i n ,有固定的起1 p 时问点,例如1 9 9 5 年一1 9 9 6 年。时间的区间的表 示方法根据两端时问点是否封闭分为4 种,如图2 - 2 表示。 利用时问区间也可以方便的描述时间点。例如:令p i = n ,这时的时问区问 可以理解为延续时间为0 的一段时问,即时间轴上的某个时间点。 在这四种区间的表达方式中,一般采用前端封闭,尾端开放的形式,主要 的是考虑时间区间兼容时间点的表示方式和时间区问的比较谓词的缘故,而事 实上它与前端开放尾端封闭的时问区问的表达方式在表达能力上是等价的。 区间含义 p ,t p , p 。t p , p 。 t p , p , t p , p i ,p i :分别表示两个时间点 :分别表示左右闭区间: ( ) :分布表示左右开区问。 图例 一 o o 一 o 一o 图2 - 1 基于时间区间的时间描述方法 问j , , , 鄙州 州 川 眦舢 吣 d 孙 d 中山大学硕士学位论文 时态对象关系映射的研究与实现 2 1 2 时态演算 时间的表示可以分成两大类:基于时间点的表示和基于时间区间的表示。 由此可以把时态关系分成三大类,分别是时态区间之间、时态区间与时间点之 间、时间点之间的时态关系。 1 时态区间之间的时态关系 j , e a l l e n 在1 9 8 3 年发表的一篇文章 1 4 1 0 0 提出了时间区间1 3 种比较谓 词:“b e f o r e ”,“a f t e r ”,“d u r i n g ”,“c o n t a i n s ”,“o v e r l a p s ”,“o v e r l a p p e d b y ”, “m e e t s ”。“m e t b y ”,“s t a r t s ”,“s t a r t e d b y ”。“f i n i s h e s ”,“f i n i s h e d b y ”, 以及“e q u a l s ”。a l l e n 的这一工作为时态关系研究做出了开创性工作。表2 - 1 中 给出了这十三种时态演算关系及其等价的时间点比较形式,其中1 1 ,1 2 均是 i n t e r v a l 类型,而b e g i n ( 1 1 ) ,e n d ( 1 1 ) 分别表示的是时间区间1 1 的起点和终 点。 表2 - 1a l l e n l 3 种时态区间关系 b e f o r e ( i i ,1 2 )e n d ( 1 1 ) b e g i n ( 1 2 ) a f t e r ( 1 1 ,1 2 )e n d ( 1 2 ) b e g i n ( 1 1 ) ( b e g i n ( 1 1 ) b e g i n ( 1 2 ) 八e n d ( 1 1 ) 一 b e g i n ( 1 2 ) 八e n d ( 1 1 ) e n d ( 1 2 ) ) ( b e g i n ( 1 2 ) b e g i n ( 1 1 ) 八e n d ( 1 2 ) e n d ( 1 1 ) ) v c o n t a i n s ( i1 ,1 2 ) ( b e g i n ( 1 2 ) b e g i n ( 1 1 ) 八e n d ( 1 2 ) e n d ( 1 1 ) ) b e g i n ( 1 1 ) b e g i n ( 1 2 1 八 e n d ( n ) e n d ( 1 2 ) b e g i n ( 1 2 ) b e g i n ( 1 1 ) 八 中山人学坝:l 学位论文时态对象关系映射的研究与实现 e n d ( 1 2 ) e n d ( 1 1 ) m e e t s ( 1 1 ,1 2 )e n d ( 1 1 ) = b e g i n ( 1 2 ) m e t _ b y ( 儿,1 2 )e n d ( 1 2 ) = b e g i n ( 1 1 ) 。 s t a r t s0 1 ,1 2 ) b e g i n ( 1 1 ) = b e g i n ( 1 2 ) 八e n d ( 1 1 ) e n d ( 1 2 ) s t a r t e d - b y ( 1 1 ,1 2 )b e g i n ( 1 1 ) = b e g i n ( 1 2 ) 八e n d ( 1 2 ) b e g i n ( t ) 八p e n d ( t ) 图2 - 2 时间区间与时间点的时态关系 3 时间点之间的时态关系 时间点与点之间的时态关系相对而言比较简单,一共有3 种关系: “b e f o r e ”、“a f t e r ”、“e q u a l s ”。各种关系含义如表2 3 所示,表中的 p , q 分别表示两个时间点。其图例如图2 - 3 所示。 表2 - 3 时间点间的时态关系 b e f o r e ( p ,q )pq e q u a l s ( p ,q ) p 2 q b e f o r e ( p q ) qp a f t e r ( p ,q ) e q u a l s ( p ,q ) p 图2 - 3 时间点之间的时态关系 一“ p l p d ,d 0 曲一 d 一 一 中山_ 人学坝士学位论文 时态对象关系映制的研究与实现 2 1 3 时态数据库 进行时态对象映射时,我们需要考虑到使用关系数据库如何实现类似时态 数据库的存储时态数据的功能,所以这里有必要介绍一下时态数据库的一些基 本概念。 在时态数据库中一般支持三种类型的时间:用户自定义时间、有效时间和 事务时间: 1 用户自定义时间( u s e r - d e f i n e dt i m e ) 用户自定义时间是指用户根据自己的应用需求或理解定义的时间。这种时 间的值一般是时间点,用户本身会解释他所给出的时间信息,数据库系统不需 要解释该数据的含义,只需将此时间域等同于其他一般的属性域来理解,对它 的操作和划普通的字符串揲作几乎没有什么差别。 一般传统数据库系统都支持用户白定义数据类型,允许用户在原有系统数 据类型的基础上建立自己定义的数据类型。这些用户自定义的数据类型,在数 据表建立或结构修改时,和其他标准数据类型一样被用户使用。和传统数据库 系统一样,时态数据库系统不对用户白定义时间进行任何特殊的处理,不需要 专门的语言支持。用户自定义时间值是完全应用依赖的,由用户和系统以常规 方式存取。 2 有效时间( v a i i dt i m e ) 有效时间( v a l i d t i m e ) 是指一个剥象( 事件) 在现实世界中发生并保持的 那段时间,或者该对象在现实世界中为真的时间。有效时间既可以反应过去和 现在的时间,还可以反应将来的时间。有效时间川。以是单一的时间点,单一的 时间区间,或者是时问点的集合,时间区间的有限集合,或者是整个时问域。 也就是说,元组的属性可以在任意的时间点,任意的时问区问里取值为真。和 用户定义的时间不同,当查询语句被检测到有时态语义的时候,有效时间是由 数据库系统解释的。而且有效时间可以被更新,有效时问的提供和更新也是由 用户来完成的。 中山大学硕士学位论文 时态对象关系映身j 的研究与实现 有效时间主要有如下两个特点: 1 ) 有效时间值的含义依赖于具体应用,取值是否有效视具体应用场合而 定,即涉及到数据约束问题; 2 ) 有效时间可以指过去、现在和未来。 3 事务时间( t r a n s a c t i o nt i m e ) 事务时间是指一个数据库对象进行操作的时问,是一个事实存储在数据库 中的时间,它记录着对数据库修改或更新的各种操作历史,对应于现有事务或 现有数据库状态变迁的历史。事务时间对应于现有事务或现有数据库的状态变 迁的历史。它是应用独立的,用户不可以修改事务时间。数据库中的数据录入 数据库的时间,修改和删除的时间是由系统时钟决定的,而修改后的数据也是 不能够改变的。处理事务时间的方法是存储所有数据库的状态,即每处理一个 事务就存储一个数据库状态。修改只能对最后一个状态进行,但是可以查询任 意一个状态。 事务时间有如下主要特点: 1 ) 事务时间的值由系统时钟给出,它独立于应用,用户不能修改事务时间; 2 ) 事务时间不能晚于现在时间,因为它反映着数据库实际操作的时间,不 能指未来,而有效时间可以指未来。 按照表示时态信息的方式和能力对数据库进行分类,可以将数据库分为基 本的4 个类型:快照数据库,历史数据、回滚数据库和双时态数据库。从广义 的角度来讲,这4 种数据库都至少支持一种时间属性( 用户自定义时间) ,所以, 人们都将他们列为时态数据库。 1 快照数据库( s n a p s h o td a t a b a s e ) 快照数据库是以在特定的时刻的瞬间快照来建立模型,来考虑现实世界, 尽管现实世界是变化的,快照数据库只是反应了某一个瞬间的情况。之所以在 这里将快照数据库介绍一下,是因为快照数据库也支持一种时间用户定义 时间。而且对快照数据库的研究,可以看到数据库对时变属性的支持变化情况。 中山大学硕士学位论文州态对象关系映射的研究与实现 快照数据库由静态的二维关系表组成,分别是属性维和元组维。数据库的 状态变迁由事务实现的,一旦事务提交,其状态变迁就立即生效,原来的数据 库状态也就完全被丢失和遗忘,相应的,现实世界的状态也一样被丢失和遗忘。 图2 4 展示了快照数据库的特性。而本论文考虑使用的关系数据库就是属于这 一类数据库。 图2 4 快照数据库 2 历史数据库( t l i s t o r i c a ld a t a b a s e ) 事务时间维 历史数据库与快照数据库的主要的和根本的区别是历史数据库支持有效时 间。历史数据库记录了在有效时间轴

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论