现代数据库时态数据库学习教案.pptx

上传人:莉*** 文档编号:74767980 上传时间:2023-02-28 格式:PPTX 页数:53 大小:326.50KB
返回 下载 相关 举报
现代数据库时态数据库学习教案.pptx_第1页
第1页 / 共53页
现代数据库时态数据库学习教案.pptx_第2页
第2页 / 共53页
点击查看更多>>
资源描述

《现代数据库时态数据库学习教案.pptx》由会员分享,可在线阅读,更多相关《现代数据库时态数据库学习教案.pptx(53页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、会计学1现代现代(xindi)数据库时态数据库数据库时态数据库第一页,共53页。6.2 6.2 数据库起源数据库起源数据库起源数据库起源(qyun)(qyun)与发与发与发与发展展展展 时态信息的需求与技术实际上一直伴随着数据库技术的发展而产生和发展。根据国内外最新研究动态和应用成果,将时态信息技术的起源与发展分为三个时期:开创期(1982年以前)、理论与模型探索阶段(1983年至1993年)、应用与发展阶段(1994年以来)。(1)开创期:时态特性是信息的客观存在,到70年代末,80年代初,数据库技术的日渐成熟和大容量高速存储设备的发展为时态据库技术的产生与应用创造了条件。加州大学洛杉矶分校

2、J.BenZvi和纽约大学的J.Clifford在1982年的博士论文提出的“用有效时间(valid time)表示被管理对象在库中生命周期,用事务时间(transaction time)表示数据库”是时态数据库技术开创期的标志性成果。时态数据库是在1982年正式形成。(2)理论与模型探索阶段:1982年以后,TDB的研究开始走向繁荣时期。此后的十年中,计算机学术界对时态数据库给予了极大的关注,学术界提出了数以百计的时态数据库模型和时态信息处理方法。此阶段,国际上一些重要大学和研究机构涌现出一大批研究学者,形成了一批专门的时态数据库研究集体。(3)应用与发展:80年代中后期,由于计算机相关技术

3、的迅速发展,特别是网络与多媒体技术等技术的发展。应用领域的许多新需求得以实现,时态信息的应用就是一个重要方面(fngmin)。主要应用领域包括:地理信息系统、农业信息系统,电信信息系统,电子商务,电子商务,智能决策支持系统,数据仓库与数据挖掘等,特别是时空(spatio-temporal)信息技术和多媒体信息技术的时态应用。第2页/共53页第二页,共53页。6.36.3时态时态(sh ti)(sh ti)数数据库与关系数据库的据库与关系数据库的区别区别n n(1)采用关系模型建立起来的数据库叫做关系数据库。关系数据库是建立在集合代数基础上,应用数学方法来处理数据库中的数据。实时数据库是采用实时

4、数据模型建立起来的数据库,用于处理不断更新的快速变化的数据及具有时间限制的事务处理。n n(2)关系数据库描述数据进入数据库时所反映现实世界当前状态。当这种状态发生改变时需要通过合适的更新(插入、删除和修改)再反映到数据库当中(dngzhng),这种更新通常发生后,原先的状态就“自然”消失。n n(3)时态数据库显式表示和管理与时间相关的数据。时态数据的形式特征是其由不显含时间的数据和相应的时间标签组成,而本质是需要将数据本身与特定的时间例如数据的生命周期等紧密结合,时间的处理和数据的管理相融相合,是数据与其相关时间的整合体第3页/共53页第三页,共53页。时态数据库时态数据库关系数据库关系数

5、据库并发处理速度并发处理速度1秒钟可处理秒钟可处理1万至儿十万个读写请万至儿十万个读写请求求1秒钟约可处理秒钟约可处理1000-3000个读写请个读写请求求存储结构存储结构采用测点结构存储采用测点结构存储白定义表结构白定义表结构对象信息定义对象信息定义不支持不支持支持支持对象关系描述对象关系描述描述通过数学模型进行计算描述描述通过数学模型进行计算描述通过主键和外键进行关系模型描述通过主键和外键进行关系模型描述数据压缩数据压缩采用压缩技术对数据压缩采用压缩技术对数据压缩不压缩,存储全部数据不压缩,存储全部数据存储策略存储策略通过采用一定的存储策略通过采用一定的存储策略(如如:多多个存个存储设备轮

6、换储设备轮换)确保可长期运行确保可长期运行没有存储策略可确保数据库没有存储策略可确保数据库长期运行,必须人工干预长期运行,必须人工干预第4页/共53页第四页,共53页。6.4 研究研究(ynji)与应与应用现状用现状n n 目前,时态信息技术仍处于研究和发展阶段,现有时态数据库共性概念、研究方法(fngf)及不足可以归纳如下。第5页/共53页第五页,共53页。n n1 1、在现有的时态数据模型中,对时间数据的描述主要是依、在现有的时态数据模型中,对时间数据的描述主要是依照照J.Ben ZviJ.Ben Zvi于于1979198219791982提出的时间点提出的时间点/时间区间模型、有效时间区

7、间模型、有效时间(时间(valid timevalid time)和事务时间)和事务时间(transaction time)(transaction time)以及双时态以及双时态(Bi-temporal)(Bi-temporal)等概念等概念(ginin)(ginin);时态数据演算主要是基于;时态数据演算主要是基于J.F.AllenJ.F.Allen于于19841984年提出的十三种时间区间演算(或其扩展)。年提出的十三种时间区间演算(或其扩展)。主要不足是:时态数据运算体系不完备,时态关系演算还没主要不足是:时态数据运算体系不完备,时态关系演算还没有系统和有力的数学理论支持。有系统和有力

8、的数学理论支持。n n2 2、时态数据模型多,但由于时态数据模型还不够成熟,还、时态数据模型多,但由于时态数据模型还不够成熟,还没有形成较完整的国际标准。各种模型都还存在一些不足。没有形成较完整的国际标准。各种模型都还存在一些不足。时态数据模型一般都是传统关系数据库的扩展,并将传统关时态数据模型一般都是传统关系数据库的扩展,并将传统关系数据库作为特例。主要方法是在系数据库作为特例。主要方法是在TDBTDB中增加一些运算,中增加一些运算,AFTERAFTER、BEFOREBEFORE和和OVERLAPOVERLAP等;扩展一些操作,例如时等;扩展一些操作,例如时态选择,时态投影、时态连接等。目前

9、大部分时态数据查询态选择,时态投影、时态连接等。目前大部分时态数据查询语言是通过扩展当前的查询语言如语言是通过扩展当前的查询语言如SQLSQL或者或者QuelQuel,时态数据,时态数据查询功能有限,效率比较低。查询功能有限,效率比较低。第6页/共53页第六页,共53页。n n3 3、目前时态数据库研究取得了相当的进展,但是大多研究、目前时态数据库研究取得了相当的进展,但是大多研究局限在数据库的时态属性,而忽视了其他信息的时态属性。局限在数据库的时态属性,而忽视了其他信息的时态属性。时态数据技术目前还停留在时态数据技术目前还停留在“数据数据”处理上,关于时态逻辑和处理上,关于时态逻辑和推理方面

10、的研究,主要优点是符号演算和推理能力强,但是推理方面的研究,主要优点是符号演算和推理能力强,但是信息处理能力弱,与时态数据库和时态信息处理研究相脱离。信息处理能力弱,与时态数据库和时态信息处理研究相脱离。关于时态知识与逻辑方面主要包括时间区间逻辑运算的扩充关于时态知识与逻辑方面主要包括时间区间逻辑运算的扩充等,没有涉及时态知识数据库模型。等,没有涉及时态知识数据库模型。n n4 4、在应用方面,由于、在应用方面,由于8080年代数据库技术迅速发展,特别是年代数据库技术迅速发展,特别是9090年代多媒体技术、网络技术等发展,时态信息的应用呈现年代多媒体技术、网络技术等发展,时态信息的应用呈现出勃

11、勃生机。但是,由于还没有成熟的时态模型和软件产品,出勃勃生机。但是,由于还没有成熟的时态模型和软件产品,大部分与时态相关的应用,只是大部分与时态相关的应用,只是(zh(zh sh)sh)借鉴当前一些时态数借鉴当前一些时态数据模型,在实际实现中仍然只能采用传统的技术,其时态部据模型,在实际实现中仍然只能采用传统的技术,其时态部分的解释是由应用程序而非数据库本身来进行。分的解释是由应用程序而非数据库本身来进行。第7页/共53页第七页,共53页。6.56.5时态时态(sh ti)(sh ti)数据库基本概念数据库基本概念6.5.1三种基本三种基本(jbn)时间时间 (1 1)用户)用户(yngh)(

12、yngh)自定义时自定义时间间(3 3)事务时间)事务时间(2 2)有效时间)有效时间 用户自定义时间(User-defined Time)是指用户根据自己的需要或理解定义的时间。这种时间的属性值一般是时间点,用户本身会解释他所给出的时间信息,数据库系统不需要解释该数据的含义,只需将此时间域等同于其他一般的属性域来理解,对它的操作和对普通的字符串操作几乎没有什么差别。因此和传统数据库系统一样,时态数据库系统不对用户自定义时间进行任何特殊的处理,不需要专门的语言支持。用户自定义时间值是完全应用依赖的,由用户和系统以常规方式存取。有效时间(Valid Time)是指一个对象(事件)在现实世界中发生

13、并保持的那段时间,或者该对象在现实世界中为真的时间。既可以反映过去和现在的时间,还可以反映将来的时间。有效时间的含义依赖于具体应用,取值是否有效视具体应用场合而定,对应于实际应用的需要或现实世界变化的历史,比如身份证,教师的职称等。和用户定义的时间不同,当查询语句被检测到有时态语义的时候,有效时间是由数据库系统解释的。而且有效时间可以被更新,有效时间的提供和更新也是由用户来完成的。事务时间(Transaction Time)又称为为系统时间是指一个数据库对象进行操作的时间,是一个事实存储在数据库中的时间,它记录着对数据库修改或更新的各种操作历史,对应于现有事务或现有数据库状态变迁的历史,因此事

14、务时间的值由系统时钟给出,它独立于应用,用户不能修改事务时间,而且事务时间不能晚于现在时间,因为它反映着数据库实际操作的时间,不能指未来,而有效时间可以指未来。第8页/共53页第八页,共53页。6.5.2 6.5.2 两个两个(lin)(lin)时间维时间维 传统的关系数据库有两维,其一是属性(shxng)维,其二是元组维,分别为横向维和纵向维。时态数据库在传统数据库的基础上增加了时间维概念,时间维指的是有效时间维和事务时间维。于是时态数据库就变成了四维结构 第9页/共53页第九页,共53页。姓名出生年月职称工资有效时间李小山196009讲师1000(199809,now)张又宝196411副

15、教授1700(199803,now)19981218 姓名出生年月职称工资有效时间李小山196009讲师10001300(199809,199903)(199904,now)张又宝196411副教授1700(199803,now)19990618 姓名出生年月职称工资有效时间李小山196009讲师10001300(199809,199903)(199904,now)张又宝196411副教授教授17002100(199803,200003)(200004,now)20000918 姓名出生年月职称工资有效时间李小山196009讲师副教授100013001800(199809,199903)(19

16、9904,200103)(200104,now)张又宝196411副教授系主任17002100(199803,200003)(200004,now)20020618 事务(shw)时间有效(yuxio)时间第10页/共53页第十页,共53页。从上表(shn bio)可以一下结论:a)如果一个元组是在数据库建立之前有效,那么它在数据库中的第一次事务时间,就是建立该数据库的时间,直至此时这个元组的有效性才被体现出来。当元组无效后,倘若数据库没有进行与事务时间相关的更新操作,元组真正的有效性也是体现不出来的。同样,该元组倘若要失效的话,必须要有新的事务时间才可能体现出来。b)没有事务时间,元组的有效

17、性是没有办法体现的;没有有效时间,仅有事务时间,数据库的元组仅仅是一个个孤立的快照。c)有效时间和事务时间是互不相关的(Orthogonal)。这好比一个人的出生年月在他出生的时候就有效了,而且此时间永远有效。但是该数据何时进入数据库,何时从数据库中被删除,完全是由系统决定的,它和有效时间完全没有关系。d)在时态数据库中,更新数据的时候,旧的数据仍然存在,并且可以访问和修改。新的数据则用作当前值供用户访问。第11页/共53页第十一页,共53页。6.6 6.6 时态时态(sh ti)(sh ti)数据库数据库的分类的分类n n分类基础是数据的时间维度n n 1.快照数据库(Snapshot Da

18、tabase)n n n n2.回滚数据库(Rollback Database)n n3.历史(lsh)数据库(History Database)n n4.双时态数据库(Bitemporal Database)第12页/共53页第十二页,共53页。6.6.1 快照(kui zho)数据库n n 快照数据库(快照数据库(Snapshot DatabaseSnapshot Database)是以在特定的时刻的瞬间快照来建立模型,)是以在特定的时刻的瞬间快照来建立模型,来考虑现实世界,尽管现实世界是变化的,快照数据库只是反映了某一个瞬间来考虑现实世界,尽管现实世界是变化的,快照数据库只是反映了某一个

19、瞬间的情况。的情况。n n 快照数据库由静态的二维关系表组成,分别是属性维和元组维。数据库的状快照数据库由静态的二维关系表组成,分别是属性维和元组维。数据库的状态变迁由事务实现的,一旦事务提交,其状态变迁就立即生效,原来的数据库态变迁由事务实现的,一旦事务提交,其状态变迁就立即生效,原来的数据库状态也就完全被丢失和遗忘,相应的,现实世界的状态也一样被丢失和遗忘。状态也就完全被丢失和遗忘,相应的,现实世界的状态也一样被丢失和遗忘。因此快照数据库不能够进行与时间相关的任何工作,不能进行含有时间因素的因此快照数据库不能够进行与时间相关的任何工作,不能进行含有时间因素的推理,不能进行以往历史数据的查询

20、。实际上是一种非时态数据库,它反映的推理,不能进行以往历史数据的查询。实际上是一种非时态数据库,它反映的是数据的当前状态,随着时间的推移,数据库状态在不断的改变,新状态将覆是数据的当前状态,随着时间的推移,数据库状态在不断的改变,新状态将覆盖旧的状态。状态之间的转变是通过更新操作实现的,如盖旧的状态。状态之间的转变是通过更新操作实现的,如insert intoinsert into、deletedelete和和updateupdate语句。语句。n n 之所以在这里将快照数据库介绍之所以在这里将快照数据库介绍(jisho)(jisho)一下,是因为快照数据库也支持一种一下,是因为快照数据库也支

21、持一种时间时间用户定义时间。而且对快照数据库的研究,可以看到数据库对时变属用户定义时间。而且对快照数据库的研究,可以看到数据库对时变属性的支持变化情况。性的支持变化情况。第13页/共53页第十三页,共53页。n n从时态数据库的观点来看,快照数据库不区分(qfn)事务时间和有效时间。它采用这样的假定:一个存储在数据库中的元组,一定是真实世界中的有效事实 第14页/共53页第十四页,共53页。6.6.2 回滚数据库n n 回滚数据库回滚数据库(Rollback Database)(Rollback Database)支持事务时间,它按事务时间进行支持事务时间,它按事务时间进行编址,保存了过去每次

22、事务提交,状态演变之前的状态,是数据库事编址,保存了过去每次事务提交,状态演变之前的状态,是数据库事务变化的时间轴。任何一个更新语句的执行务变化的时间轴。任何一个更新语句的执行(zhxng)(zhxng)将产生一个新的数将产生一个新的数据库状态。新状态不会覆盖旧的状态。因此没有数据会被物理删除。据库状态。新状态不会覆盖旧的状态。因此没有数据会被物理删除。通过将一个元组的事务结束时间设为执行通过将一个元组的事务结束时间设为执行(zhxng)(zhxng)语句的当时时间,从语句的当时时间,从而实现元组在语义上的而实现元组在语义上的“删除删除”。事务时间区间可以看成是该元组在快。事务时间区间可以看成

23、是该元组在快照数据库中存在的历史。照数据库中存在的历史。第15页/共53页第十五页,共53页。IDNAMEBIRTHDAYSALARY100张三1974.1.13000IDNAMEBIRTHDAYSALARY100张三1974.1.15000IDNAMEBIRTHDAYSALARYTTSTTE100张三1974.1.130001998.11999.1100张三1974.1.150001999.1表1是在回滚数据库中张三的记录,而在不同历史(lsh)时期的快照数据库中张三记录的情况分别如表2和表3;表2是1998.1-1999.1快照数据库中张三的记录;表3 是1999.1之后,快照数据库中张三

24、的记录,它覆盖了表2的记录第16页/共53页第十六页,共53页。n n回滚数据库不足之处也很为明显,主要表现如下:回滚数据库不足之处也很为明显,主要表现如下:n n1 1)回滚数据库因为是按照事务时间编址,记录的是数据库状态变迁的历史,而不是现实世界变化的历史,现实世界中元组的属性在)回滚数据库因为是按照事务时间编址,记录的是数据库状态变迁的历史,而不是现实世界变化的历史,现实世界中元组的属性在某个时间点(属性的有效时间)变化了,但是因为数据库在这个时间点没有执行事务,即数据库的事务时间没有改变,那么此时,某个时间点(属性的有效时间)变化了,但是因为数据库在这个时间点没有执行事务,即数据库的事

25、务时间没有改变,那么此时,元组的时变属性的改变在数据库中根本没有体现出来。元组的时变属性的改变在数据库中根本没有体现出来。n n2 2)过去元组的错误决不可以更正,而只能查看。当我们发现元组有错误的时候,如果此事务已经提交的话,我们就无能为力过去元组的错误决不可以更正,而只能查看。当我们发现元组有错误的时候,如果此事务已经提交的话,我们就无能为力(w(w nng wi l)nng wi l)了,所能做的工作只能是等待下次系统的事务时间进行新的改动。但是,改动的只是提交前的数据库,即最近一个事了,所能做的工作只能是等待下次系统的事务时间进行新的改动。但是,改动的只是提交前的数据库,即最近一个事务

26、时间点的数据库,在此之前的状态不能再改变。务时间点的数据库,在此之前的状态不能再改变。n n3 3)回滚数据库的冗余太多。在前一个事务时间内提交的数据,即使在下一个事务时间没有数据的改变或者改变甚小也需要进行所有)回滚数据库的冗余太多。在前一个事务时间内提交的数据,即使在下一个事务时间没有数据的改变或者改变甚小也需要进行所有的数据的重新输入及储存,这种冗余是较大的,特别是那种时变较小的情况。的数据的重新输入及储存,这种冗余是较大的,特别是那种时变较小的情况。第17页/共53页第十七页,共53页。6.6.3 6.6.3 历史历史(lsh)(lsh)数据库数据库n n 记录事实的有效时间的数据库称

27、为历史数据库。历史数据库记录了在记录事实的有效时间的数据库称为历史数据库。历史数据库记录了在有效时间轴上的一系列的数据库状态,可能是过去、现在或将来。它可以有效时间轴上的一系列的数据库状态,可能是过去、现在或将来。它可以(ky(ky)被看作是记录了事实在真实世界的变化过程被看作是记录了事实在真实世界的变化过程 第18页/共53页第十八页,共53页。NoNameBirthdayTitle019504478 Peter1969-6-6Lecturer019504479 James 1966-7-8Prof.019504480 Bush1963-8-16 Prof.NoName Salary Tit

28、leVTsVTe019504478 Jhon3000Lecturer1991-071994-09019504478 Jhon4500Assiant-Prof.1994-102000-05019504478 Jhon8000Prof.2000-062003-08019504478 Jhon8000President2003-082006-08019504479 White 5000Assiant-Prof.2002-062007-09019504479 White 6500Prof.20007-10 NOW表表4,4,快照快照(kui zho)(kui zho)数据库数据库 例如表4是一个快照数

29、据库的例子,从表中可以知道Peter的一些基本信息。但是,对于“Peter 5年前是否为讲师?”这样的问题,除非对数据表的结构进行特殊处理(chl),否则将难以得到所需结果。为了解决此类问题,就需引入历史数据库,如表5。历史数据库与快照数据库的主要区别是支持有效历史数据库与快照数据库的主要区别是支持有效(yuxio)(yuxio)时间。在数时间。在数据库中添加对有效据库中添加对有效(yuxio)(yuxio)时间的支持后,就可以把表时间的支持后,就可以把表4 4改造成新的表改造成新的表5 5。表表5,5,历史数据库历史数据库第19页/共53页第十九页,共53页。n n 历史数据库上的查询语言必

30、须具有有效时间演算能力。同时历史数据库上的查询语言必须具有有效时间演算能力。同时更新语句必须指明修改语句涉及哪些数据库状态(也就是只对更新语句必须指明修改语句涉及哪些数据库状态(也就是只对指明的时间区间内有效的记录才进行修改)。指明的时间区间内有效的记录才进行修改)。n n 历史数据库无法记录数据库的修改历史。因此,在历史数据历史数据库无法记录数据库的修改历史。因此,在历史数据库中有效时间的修改历史也是不能被记录的。例如某个事实的库中有效时间的修改历史也是不能被记录的。例如某个事实的有效时间有错误而进行了更新,新的记录将覆盖有效时间有错误而进行了更新,新的记录将覆盖(fgi)(fgi)旧的记录

31、。旧的记录。n n 历史数据库主要特点是支持有效时间,数据冗余度小,结构历史数据库主要特点是支持有效时间,数据冗余度小,结构相对简单。但是也存在一些不知,主要不足之处是:不支持事相对简单。但是也存在一些不知,主要不足之处是:不支持事务时间,不可以象回滚数据库一样对以前的某一个状态进行查务时间,不可以象回滚数据库一样对以前的某一个状态进行查询。询。第20页/共53页第二十页,共53页。6.6.46.6.4双时态双时态双时态双时态(sh ti)(sh ti)数数数数据库据库据库据库n n 回滚数据库和历史数据库各具优点,通过设计一种数据库,使它既支持事务时间又支持有效时间,这就是双时态数据库(Bi

32、temporal Database)。双时态数据库集成了前三种类型(lixng)数据库的功能特性,储存了数据库和现实世界两者发展的历史。双时态双时态(sh ti)关系的一种实现方法就是组合回滚数据库和历史数据库成为新的数据库。关系的一种实现方法就是组合回滚数据库和历史数据库成为新的数据库。第21页/共53页第二十一页,共53页。n n 可以看出,在事务时间轴上,取不同的时间点,就产生不同的历史数据库,我们可以看出,在事务时间轴上,取不同的时间点,就产生不同的历史数据库,我们可以对上图中的对应于四个事务时间点可以对上图中的对应于四个事务时间点T1T1,T2T2,T3T3,T4T4的历史数据库进行

33、查询操作。的历史数据库进行查询操作。当然图中所示的只是一个元组的四个历史数据库中的有效时间片断组合,对于其他当然图中所示的只是一个元组的四个历史数据库中的有效时间片断组合,对于其他元组的情况可以类似的进行推理,而后,这些元组组合到一起元组的情况可以类似的进行推理,而后,这些元组组合到一起(yq(yq)即形成了四个不同即形成了四个不同的历史数据库。的历史数据库。n n 所以,这四个历史数据库也可以成为是快照历史数据库,说是快照,是因为这四所以,这四个历史数据库也可以成为是快照历史数据库,说是快照,是因为这四个数据库是分别是四个事务时间的快照;说是历史数据库,是因为每个数据库里面个数据库是分别是四

34、个事务时间的快照;说是历史数据库,是因为每个数据库里面的纪录是历史数据库属性的,记载的是现实元组的真实变化的时间,而非数据库状的纪录是历史数据库属性的,记载的是现实元组的真实变化的时间,而非数据库状态变化的时间,我们可以在这四个数据库里面进行增加、改正、删除及查询的工作态变化的时间,我们可以在这四个数据库里面进行增加、改正、删除及查询的工作 第22页/共53页第二十二页,共53页。n n 双时态数据库综合了回滚数据库和历史数据库的优良特性,双时态数据库综合了回滚数据库和历史数据库的优良特性,它即保存了数据库变迁的历史,又保存了现实世界的真实的它即保存了数据库变迁的历史,又保存了现实世界的真实的

35、数据属性。这种数据库,才是真正的对数据时态属性支持的数据属性。这种数据库,才是真正的对数据时态属性支持的数据库,以前的回滚数据库很难称得上是纯粹的时态数据库。数据库,以前的回滚数据库很难称得上是纯粹的时态数据库。n n 应当注意的是,双时态数据库是以牺牲大容量的储存空应当注意的是,双时态数据库是以牺牲大容量的储存空间为代价的,对双时态数据库的储存进行优化是时态数据库间为代价的,对双时态数据库的储存进行优化是时态数据库研究的一个重要研究的一个重要(zhngyo)(zhngyo)工作。工作。第23页/共53页第二十三页,共53页。6.7 6.7 时态时态时态时态(sh ti)(sh ti)数据库查

36、询语数据库查询语数据库查询语数据库查询语言言言言目前,时态数据查询语言主要(zhyo)由下述三种类型:1)TempSQL2)TSQL23)TQuel第24页/共53页第二十四页,共53页。6.7.1 6.7.1 双时态双时态双时态双时态(sh ti)(sh ti)概念数据模型概念数据模型概念数据模型概念数据模型BCDMBCDMn n BCDM BCDM的全称是的全称是Bitemporal Conceptual Data ModelBitemporal Conceptual Data Model。它是一种支持有效时间和事务时间的双时态。它是一种支持有效时间和事务时间的双时态模型。模型。BCDMB

37、CDM是一种概念模型,主要目的是实现时态数据的语义。它不曾考虑数据的存储和数据是一种概念模型,主要目的是实现时态数据的语义。它不曾考虑数据的存储和数据的表示(也就是数据如何显示给用户)。现实中是通过其它的模型以及其它模型到的表示(也就是数据如何显示给用户)。现实中是通过其它的模型以及其它模型到BCDMBCDM的映射的映射来实现的。如在来实现的。如在TSQL2TSQL2中所定义的其它两种模型(面向储存的表示数据模型和面向显示的演示数中所定义的其它两种模型(面向储存的表示数据模型和面向显示的演示数据模型)就是为据模型)就是为BCDMBCDM的数据物理存储和用户界面而设计的。三种的数据物理存储和用户

38、界面而设计的。三种(sn zh(sn zh n n)模型构成了类似模型构成了类似DBMSDBMS的三层逻辑关系,即数据存储、数据逻辑和数据表示分开。的三层逻辑关系,即数据存储、数据逻辑和数据表示分开。n n BCDM BCDM有个天生的弱点,就是有个天生的弱点,就是BCDMBCDM不便于储存,不便于储存,BCDMBCDM储存会占据大量的空间。储存会占据大量的空间。TSQL2TSQL2的实的实际储存形式是一种可以与际储存形式是一种可以与BCDMBCDM进行等价转化的数据库模型进行等价转化的数据库模型面向储存的表示模型。表示模型面向储存的表示模型。表示模型在在TSQL2TSQL2中没有做统一的规定

39、。中没有做统一的规定。第25页/共53页第二十五页,共53页。n nBCDMBCDM模型描述如下:模型描述如下:n n1 1、每一个事实包含在一个元组中。、每一个事实包含在一个元组中。n n2 2、每一个事实条目的、每一个事实条目的TimestampTimestamp记录了这个事实什么时候为真和这记录了这个事实什么时候为真和这个事实是什么时候被写入数据库。(双时态)个事实是什么时候被写入数据库。(双时态)n n3 3、BCDMBCDM是一种均一的数据模型。是一种均一的数据模型。n n4 4、元组定义为具有合法、元组定义为具有合法(hf(hf)属性值的属性集子集。属性值的属性集子集。n n5 5

40、、不允许有空的、不允许有空的TimestampTimestamp。n n6 6、不允许有相同值的元组,、不允许有相同值的元组,BCDMBCDM中的关系是接合的。中的关系是接合的。n n7 7、每一个合法、每一个合法(hf(hf)元组的集合都不是合法元组的集合都不是合法(hf(hf)元组。元组。第26页/共53页第二十六页,共53页。n n BCDM BCDM中的关系不是中的关系不是1NF1NF,因为,因为TimestampTimestamp不具有原子性(双不具有原子性(双时态)。其它的属性时态)。其它的属性(sh(sh xng)xng)都是原子。都是原子。BCDMBCDM最主要的特点:最主要的

41、特点:(1)支持有效时间和事务时间的双时态,BCDM从概念层次上完整(wnzhng)地实现了双时态的语义,虽然它并不适合于数据存储和数据表示,但是它为双时态语义的形成提供了完整(wnzhng)的逻辑体系;(2)属性的原子性(保证1NF):属性不可再分;(3)有效时间的同质性:所有事实定义在同一种时间元素上;(4)有效时间的接合性:时间连续或重迭时,不允许相同性元组的出现。第27页/共53页第二十七页,共53页。n n 举例说明举例说明BCDMBCDM模型模型(mxng)(mxng)的双时态机制。该例子描述的是的双时态机制。该例子描述的是JakeJake在在shipping depshippin

42、g dep里工作,人事部门使用里工作,人事部门使用BCDMBCDM模型模型(mxng)(mxng)对对JakeJake的工作进行的工作进行记录。在本例中,假设有效时间和事务时间最小的时间单位都是记录。在本例中,假设有效时间和事务时间最小的时间单位都是1 1天,也天,也就是说时间粒度是就是说时间粒度是1 1天。使用整数时间戳,也就是使用时间天。使用整数时间戳,也就是使用时间1 1,时间,时间2 2等去等去描述时间,因为描述时间,因为BCDMBCDM时间域的性质决定了它支持这样的时间表示。时间域的性质决定了它支持这样的时间表示。n n 图图1 1表示了这样情况,表示了这样情况,JakeJake被雇

43、用并被安排到被雇用并被安排到shippingshipping部门工作,工作时部门工作,工作时间从间从1010到到1515,人事部门对此信息进行记录,记录时间为,人事部门对此信息进行记录,记录时间为5 5。很明显,前者。很明显,前者是有效时间,后者是事务时间。图是有效时间,后者是事务时间。图1 1中那两个箭头表明这个事实是一直存中那两个箭头表明这个事实是一直存在于数据库中的,到目前为止还没有改变,也就是在于数据库中的,到目前为止还没有改变,也就是UCUC。第28页/共53页第二十八页,共53页。n n 人事部门后来发现对人事部门后来发现对JakeJake的工作时间记录有错误,应该是从时间的工作时

44、间记录有错误,应该是从时间5 5到到时间时间2020。于是进行修改,修改的时间是。于是进行修改,修改的时间是1010。这就是图。这就是图2 2所反映情况。之所反映情况。之后,人事部门发现这次修改是错误的,原来的记录才是正确的。于是后,人事部门发现这次修改是错误的,原来的记录才是正确的。于是又把记录改为原来的情况,作出修改的时间是又把记录改为原来的情况,作出修改的时间是1515。这就是图。这就是图3 3所反映的。所反映的。n n 人事部门后来又发现人事部门后来又发现JakeJake工作的部门不是工作的部门不是shipping depshipping dep,而是,而是Load Load depd

45、ep,于是作出修改,增加一个事实到双时态空间中,这个,于是作出修改,增加一个事实到双时态空间中,这个(zh ge)(zh ge)操作操作进行的时间是时间进行的时间是时间2020。在同一时间,人事部门收到确认了。在同一时间,人事部门收到确认了KateKate将会在时将会在时间间2525到时间到时间3030这段时间里将在这段时间里将在Ship depShip dep工作,于是把这个工作,于是把这个(zh ge)(zh ge)记录加记录加到数据库中。到数据库中。第29页/共53页第二十九页,共53页。6.7.2 TempSQL6.7.2 TempSQL模型模型模型模型(mxng)(mxng)及及及及

46、语言语言语言语言n n TempSQL TempSQL是一个类似于是一个类似于SQLSQL的时态数据库查询语言,它兼容了的时态数据库查询语言,它兼容了SQLSQL的主要功能,能的主要功能,能查询被管理查询被管理(gu(gu nl nl)对象的历史、数据库本身插删改的历史,以及用户和数据库本身出错的历史。对象的历史、数据库本身插删改的历史,以及用户和数据库本身出错的历史。TempSQLTempSQL保持了时态数据和静态数据的无缝连接。快照数据库可以认为是时态数据库中时间缩小为一保持了时态数据和静态数据的无缝连接。快照数据库可以认为是时态数据库中时间缩小为一个时间量子个时间量子now,nownow

47、,now时的特例。时的特例。TempSQLTempSQL引进了双时态机制,数据库中管理引进了双时态机制,数据库中管理(gu(gu nl nl)的不仅有对象历史的不仅有对象历史的有效时间,也有关于数据库查删改的事务时间。的有效时间,也有关于数据库查删改的事务时间。n n TempSQL TempSQL模型先是引进了时态属性值,时态元组,生命周期,时态表达式,等一些模型先是引进了时态属性值,时态元组,生命周期,时态表达式,等一些TempSQLTempSQL特有特有的基本概念,而后建立时态数据库模型。的基本概念,而后建立时态数据库模型。第30页/共53页第三十页,共53页。n n1 1几个概念几个概

48、念几个概念几个概念n n 1.1 1.1)时态属性值)时态属性值)时态属性值)时态属性值n nTempSQLTempSQL中允许时态属性值是形如(区间,值)的二元组。例如中允许时态属性值是形如(区间,值)的二元组。例如中允许时态属性值是形如(区间,值)的二元组。例如中允许时态属性值是形如(区间,值)的二元组。例如(19941994,19971997,“在大学学习在大学学习在大学学习在大学学习”),其语义为某人),其语义为某人),其语义为某人),其语义为某人“在大学学习在大学学习在大学学习在大学学习”的时的时的时的时间是间是间是间是19941994,19971997。在。在。在。在TempSQL

49、TempSQL中称中称中称中称19941994,19971997为属性值的定义为属性值的定义为属性值的定义为属性值的定义域或生命周期,用双层括号表示求生命周期运算,例如域或生命周期,用双层括号表示求生命周期运算,例如域或生命周期,用双层括号表示求生命周期运算,例如域或生命周期,用双层括号表示求生命周期运算,例如“在大学学在大学学在大学学在大学学习习习习”19941994,19971997n n 1.2 1.2)时态元组)时态元组)时态元组)时态元组n nTempSQLTempSQL中要求一个元组中各个属性的生命周期一致中要求一个元组中各个属性的生命周期一致中要求一个元组中各个属性的生命周期一致

50、中要求一个元组中各个属性的生命周期一致(yzh)(yzh),称为满,称为满,称为满,称为满足同时性条件的时态元组。足同时性条件的时态元组。足同时性条件的时态元组。足同时性条件的时态元组。第31页/共53页第三十一页,共53页。n n1.31.3)时态表达式)时态表达式)时态表达式)时态表达式n n为了为了为了为了(wi le)(wi le)使使使使TempSQLTempSQL语言表达方便,引入了时态表达式的概念。语言表达方便,引入了时态表达式的概念。语言表达方便,引入了时态表达式的概念。语言表达方便,引入了时态表达式的概念。n n1 1、如、如、如、如A A是一个属性,是一个属性,是一个属性,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理工具

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com