- 6
- 0
- 约6.64千字
- 约 10页
- 2020-01-13 发布于湖北
- 举报
数据库系统与技术(4) --时态数据模型 汤 庸 博士 issty@ 主要内容 时态属性 时态数据库基本概念 双时态数据模型 1 时态属性 时态属性:和时间相关的属性称为时态属性,属性可以有两种形式和时间相关联。 属性取时间值,即其值域为时间 时间属性”(TA,time attribute):属性取时间值,即其值域为时间,如火车的“开车时间”、工程的“开工时间”等 属性的值是关于时间变化的 “时变属性”(TVA,time-varying attribute) :属性的值是关于时间变化,例如产品的“日产量”、火车行驶的“速度”等 “常量属性”(CA,constant attribute) :值为常数的属性,如“生日” 等 2三种基本时间体系 用户自定义时间(user-defined time) 有效时间(valid time) 事务时间(transaction time) 2三种时间体系(1) 用户自定义时间 用户自定义时间指用户根据自己的需要或理解定义的时间 ,可以在数据表建立或结构修改时,如同其他标准数据类型一样为用户所用。 用户自定义时间属于常规属性,是完全应用依赖的,由用户和系统按常规方式存取。 如:“生日”: 1980-10-1 2三种时间体系(2) 有效时间 有效时间是指一个对象在现实世界中发生并保持的那段时间,或者在现实世界中为真的那段时间。 有效时间的含义依赖于具体应用,取值是否有效视具体应用场合而定,对应于实际应用的需要或现实世界的变化。有效时间是由数据库系统解释的。 有效时间可以反应过去、现在和将来的时间,可以被更新。 2三种时间体系(3) 事务时间 事务时间是指一个数据库对象进行操作的时间 ,记录着对数据库修改或是更新的各种操作历史。 事务时间对应于现有事务或现有数据库的状态变迁的历史。它是应用独立的,用户不可以修改事务时间。 事务时间不能晚于现在时间,因为它放映着数据库实际操作时间,即不能指向未来时间。 三种时间的图例 3两个时间维 传统数据库的两维结构 属性维+元组维 时态数据库的四维结构 属性维+元组维+有效时间维+事务时间维 一个例子 三种时间体系+两个时间维 一个例子 三种时间体系+两个时间维的具体表现 两个时间维的必要性 两种时间是各自独立的 数据库中的数据录入数据库的时间,修改和删除的时间是是由系统时钟决定的,而修改后的数据也是不能够改变的。 有效时间对应于实际应用的需要或现实世界的变化,可以被更新 。 支持两个时间维的时态元素 时态元素 时间域中的可取值元素,可以是时间点,时间点的集合,时间区间或者是时间区间的集合。 两种时间维的时态元素 两种时间维的时间粒度可能会不一样 ,只是时态元素表示时间的灵活之处。 例如,我们可以用时间点来表达事务时间维,用时间区间来表达有效时间维。 4 四种数据库 快照数据库(Snapshot Database) 回滚数据库(Rollback Database) 历史数据库(Historical Database) 时态数据库(Temporal Database) 快照数据库 快照数据库是以特定时刻的瞬间快照为模型来反映现实世界,不支持有效时间和事务时间,只支持用户自定义时间。 快照数据库的二维结构 属性维+元组维 快照数据库对时态支持的不足 不保存历史数据 只能对当前数据库状态的查询、更改及删除工作 无法体现属性与时间的关系没有维护状态变迁的能力 与时间相关的任何工作,例如含有时间因素的推理,对以往历史数据的查询等,都不能够进行 回滚数据库 回滚数据库按照事务时间编址,保存了过去每次事务提交,状态变迁之前的数据库。 回滚关系的三维结构 属性维+元组维+事务时间维 事务时间维上每一个事务时间点对应一个快照数据库 回滚数据库支持事务时间 事务时间维上所取的每个时间点必然有数据库的建立,修改,和删除及数据库的定期重写(可能没有对数据库做任何改变)工作 一旦事务提交,之前的数据库被保存之后,就不能再改变 回滚数据库图例
原创力文档

文档评论(0)