双时态数据库
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
双时态数据库
M17071011
目录
C O N T E N T S
1 2 3 4 5 6
• 双时态数据库的定义 • 双时态数据库特点 • 双时态数据库与其他时态数据库 的比较 • 双时态的数据模型 • 单击此处添加内容文本 • 单击此处添加内容文本
1
• 双时态数据库的定义
现实世界中的事物都带有时间属性,大到地理环境、社会环境、经济状况, 小到一个人的学习、工作经历、薪酬待遇等,都在不断地随时间变化而变化。描 述带有时间属性的事物的信息被称为时态信息,记录时态信息的数据被称为时态 数据,而存储时态数据记录时态信息的数据库就是时态数据库。时态数据库记录了事 物在时问轴上的每一个状态,能够反映事物的变化过程,这些信息对人们的生产生活 起到非常重要的作用。 传统的数据库系统忽略了事物固有的时间属性,它允许用户自定义时间,但 是将这种时间属性与其它普通属性一般看待,不提供与时间相关的处理,应用程 序必须自行处理时间的判断和运算逻辑。与时态数据库相比,传统数据库只记录 了数据在某一时刻的瞬间状态。随着信息技术的发展,信息系统对时态信息处理 的需求变得越来越迫切,而传统的数据库系统已经不能满足这种需求,于是时态 数据库就成为了新一代数据库研究领域。
时态数据库分为三种,支持有效时间维的数据库是历史数据库,支持事务时间维 的数据库是回滚数据库,同时支持两种时间维的是双时态数据库。
2
• 双时态数据库特点
时态数据库理论中包含三种基本时间:用户自定义时间、有效时间和事务时 间,时态数据库与传统数据库一样允许用户根据自己的需要或理解定义时间,但 只是把这种时间当作普通数据看待,不作任何特殊处理。而时态数据库与传统数 据库的区别在于另外两种时问,有效时间和事务时间。有效时间是指一项事实在现实 世界中为真的那段时间 。有效时间涉及到数据约束的问题;约束生效的时间可以是过 去,现在和未来。事务时间是指一项事实存储在数据库中的那段时间,也称为系统时 间。 新的数据库状态总是产生于数据库的数据发生改变,数据被插入、修改或删除的 时候,新的数据库状态的产生意味着旧的数据库状态的结束,也即是事务时间的结束。 因此事务时间对应于数据库变迁历史中的某个状态,事务时间系列记录了数据库演变 的历史。事务时间不存在物理上的数据删除,删除操作发生的时候,旧的数据库状态 被当做历史存储起来,在此基础上产生一个新的数据库状态。修改也只能对最后一个 数据状态进行,但是历史存储状态的数据可供查询事务时间可以是过去和现在,却不 可以是未来的时间。
4
• 双时态的数据模型
如果参照关系是时态表,那么依赖关系的外键包含着时间区间,也即是说只能引 用外键指定的时间区间内有效存在的实体。如果这种时态参照完整性规则完全交由底 层关系数据库系统处理,这种规则就变成了用户自定义外键值和时间区间值要么为空, 要么都等于被引用元组的用户自定义主键值和时间区间值。根据双时态实体完整性规 则,时间区间值不能为空。另外我们知道,只要在实体生存周期内的区间,该实体都 是有效的,而并不需要完全等于实体的生存周期。因此,双时态参照完整性规则应该 如下: a)用户自定义外键值等于参照关系中被引用元组的主键值 b)如果参照关系是有效时间单时态关系,那么依赖关系的引用元组有效时 间区间在参照关系的被引用元组有效时间区间范围内;如果参照关系是事务时间单时 态关系,那么依赖关系的引用元组事务时间区间在参照关系的被引用元组事务时间区 间范围内;如果参照关系是双时态关系,那么依赖关系的引用元组任一时间维的时间 区间在参照关系的被引用元组相同时间维的时间区间范围内。 双时态参照完整性规则与关系模型的参照完整性规则有所不同,涉及到了时 间区间关系的判断。因此,双时态参照完整性规则的检查并不能直接交由底层关 系数据库系统,而需要双时态TempDB中间件系统作相应的操作。
4
• 双时态的完整性约束
• 双时态的数据模型
Βιβλιοθήκη Baidu
数据库中“完整性”的含义是指数据的正确性、一致性和有效性。所谓“完 整性约束”就是为了保证数据库完整性数据应该满足的条件。“数据完整性约束” 是一个数据模型不可或缺的重要方面,如果没有一套完整性规则和一种机制保证 数据正确地存储在数据库,并正确地被输入输出,这数据库系统是没有意义的 。 同样。时态数据库也需要一套完整性机制来保证时态数据的完整性。 时态实体完整性规则: a)组成用户自定义主键的属性上不能有空值; b)时态元组的时间区间不能为空值; c)时态元组在同一时间维的起始时间属性值必须小于等于结束时间属性 值。 这就可以保证每个时态元组能够在时态表中被惟一标识,没有时间标签或者 时间标签不完整、不合法的元组不能称为是时态数据,不应该跟其它时态元组同 属一个关系。事务时间属于系统时间,不需要考虑,但是对有效时间时态表或者 双时态表插入数据的时候,则必须要求用户赋予正确的有效时间区间。另外在修 改时态表的时候,不允许用户把时问区间修改为空或者没有意义的时间区间。
4
• 双时态的数据结构
• 双时态的数据模型
数据结构指现实世界的实体类型和实体间的联系在数据库中如何表达和实 现。双时态TempDB中间件处理的数据都存储在关系数据库中,因此使用关系 模式表示实体类型,二维表格表示实体集,实体间的联系通过键引用来实现。这 些都与非时态数据结构相同,不同的是时态数据具有时效属性。 事务时间的存储表示可分为时间点和时间区间两种形式,它们各有利弊,因 此需要从用户性能和数据库系统的负担两方面去衡量它们,选择一种最佳方案。数据 库添加了事务时间维,就意味着数据操作包括建立、修改、删除在事务提交之后,都 将产生一个新的数据库状态,新状态不会覆盖旧的状态,因此没有数据会从数据库中 被物理删除,数据在不断地增加。而且即使数据的改变甚小,也需要进行所有数据的 重新输入及储存,这样数据增长的速度是非常快的,冗余问题将异常严重,有必要作 适当的存储优化。 时 态实体在关系数据库中的完整表达应该如下: a)有效时间单时态实体:(围皇自庭塞圭毽!查夔盟闻,其它属性) b)事务时间单时态实体:(题应自宣塞圭毽:蔓釜盟闷,其它属性) c)双时态实体:(周应自定望圭键:直熟时间!童箜盟间,其它属性
3
•
双时态数据库与其他时态数据库的比较
时态数据库理论按照时态信息的表示方式把数据库分为以下四种类型: 一、快照数据库:快照数据库只支持一种时间一用户自定义时间。它只有属 性维和元组维两个维度,反映数据某一瞬间的状况,没有状态变迁的维护能力。 二、历史数据库:支持有效时间维的数据库被称为历史数据库。历史数据库 记录了数据的有效时问,在有效时间轴上可以反映现实世界事实的变化过程。但 是,历史数据库没有数据库修改历史的记录能力,数据的更新将使得新的数据覆 盖旧的数据。 三、回滚数据库:支持事务时间维的数据库被称为回滚数据库。回滚数据库 记录了数据操作的事务时间,存储了数据库演变过程中的每一个数据状态。对在 此之前的状态,回滚数据库不具备数据更新能力,只能操纵当前状态的数据。回 滚数据库在每次事务提交的时候都产生一个新版本,数据冗余量比较大。 四、双时态数据库:既支持事务时间又支持有效时间的数据库被称为双时态 数据库。双时态数据库集成了前三种数据库的优良特性,既保存了数据库变迁的 历史又保存了现实世界的事实变化历史。
M17071011
目录
C O N T E N T S
1 2 3 4 5 6
• 双时态数据库的定义 • 双时态数据库特点 • 双时态数据库与其他时态数据库 的比较 • 双时态的数据模型 • 单击此处添加内容文本 • 单击此处添加内容文本
1
• 双时态数据库的定义
现实世界中的事物都带有时间属性,大到地理环境、社会环境、经济状况, 小到一个人的学习、工作经历、薪酬待遇等,都在不断地随时间变化而变化。描 述带有时间属性的事物的信息被称为时态信息,记录时态信息的数据被称为时态 数据,而存储时态数据记录时态信息的数据库就是时态数据库。时态数据库记录了事 物在时问轴上的每一个状态,能够反映事物的变化过程,这些信息对人们的生产生活 起到非常重要的作用。 传统的数据库系统忽略了事物固有的时间属性,它允许用户自定义时间,但 是将这种时间属性与其它普通属性一般看待,不提供与时间相关的处理,应用程 序必须自行处理时间的判断和运算逻辑。与时态数据库相比,传统数据库只记录 了数据在某一时刻的瞬间状态。随着信息技术的发展,信息系统对时态信息处理 的需求变得越来越迫切,而传统的数据库系统已经不能满足这种需求,于是时态 数据库就成为了新一代数据库研究领域。
时态数据库分为三种,支持有效时间维的数据库是历史数据库,支持事务时间维 的数据库是回滚数据库,同时支持两种时间维的是双时态数据库。
2
• 双时态数据库特点
时态数据库理论中包含三种基本时间:用户自定义时间、有效时间和事务时 间,时态数据库与传统数据库一样允许用户根据自己的需要或理解定义时间,但 只是把这种时间当作普通数据看待,不作任何特殊处理。而时态数据库与传统数 据库的区别在于另外两种时问,有效时间和事务时间。有效时间是指一项事实在现实 世界中为真的那段时间 。有效时间涉及到数据约束的问题;约束生效的时间可以是过 去,现在和未来。事务时间是指一项事实存储在数据库中的那段时间,也称为系统时 间。 新的数据库状态总是产生于数据库的数据发生改变,数据被插入、修改或删除的 时候,新的数据库状态的产生意味着旧的数据库状态的结束,也即是事务时间的结束。 因此事务时间对应于数据库变迁历史中的某个状态,事务时间系列记录了数据库演变 的历史。事务时间不存在物理上的数据删除,删除操作发生的时候,旧的数据库状态 被当做历史存储起来,在此基础上产生一个新的数据库状态。修改也只能对最后一个 数据状态进行,但是历史存储状态的数据可供查询事务时间可以是过去和现在,却不 可以是未来的时间。
4
• 双时态的数据模型
如果参照关系是时态表,那么依赖关系的外键包含着时间区间,也即是说只能引 用外键指定的时间区间内有效存在的实体。如果这种时态参照完整性规则完全交由底 层关系数据库系统处理,这种规则就变成了用户自定义外键值和时间区间值要么为空, 要么都等于被引用元组的用户自定义主键值和时间区间值。根据双时态实体完整性规 则,时间区间值不能为空。另外我们知道,只要在实体生存周期内的区间,该实体都 是有效的,而并不需要完全等于实体的生存周期。因此,双时态参照完整性规则应该 如下: a)用户自定义外键值等于参照关系中被引用元组的主键值 b)如果参照关系是有效时间单时态关系,那么依赖关系的引用元组有效时 间区间在参照关系的被引用元组有效时间区间范围内;如果参照关系是事务时间单时 态关系,那么依赖关系的引用元组事务时间区间在参照关系的被引用元组事务时间区 间范围内;如果参照关系是双时态关系,那么依赖关系的引用元组任一时间维的时间 区间在参照关系的被引用元组相同时间维的时间区间范围内。 双时态参照完整性规则与关系模型的参照完整性规则有所不同,涉及到了时 间区间关系的判断。因此,双时态参照完整性规则的检查并不能直接交由底层关 系数据库系统,而需要双时态TempDB中间件系统作相应的操作。
4
• 双时态的完整性约束
• 双时态的数据模型
Βιβλιοθήκη Baidu
数据库中“完整性”的含义是指数据的正确性、一致性和有效性。所谓“完 整性约束”就是为了保证数据库完整性数据应该满足的条件。“数据完整性约束” 是一个数据模型不可或缺的重要方面,如果没有一套完整性规则和一种机制保证 数据正确地存储在数据库,并正确地被输入输出,这数据库系统是没有意义的 。 同样。时态数据库也需要一套完整性机制来保证时态数据的完整性。 时态实体完整性规则: a)组成用户自定义主键的属性上不能有空值; b)时态元组的时间区间不能为空值; c)时态元组在同一时间维的起始时间属性值必须小于等于结束时间属性 值。 这就可以保证每个时态元组能够在时态表中被惟一标识,没有时间标签或者 时间标签不完整、不合法的元组不能称为是时态数据,不应该跟其它时态元组同 属一个关系。事务时间属于系统时间,不需要考虑,但是对有效时间时态表或者 双时态表插入数据的时候,则必须要求用户赋予正确的有效时间区间。另外在修 改时态表的时候,不允许用户把时问区间修改为空或者没有意义的时间区间。
4
• 双时态的数据结构
• 双时态的数据模型
数据结构指现实世界的实体类型和实体间的联系在数据库中如何表达和实 现。双时态TempDB中间件处理的数据都存储在关系数据库中,因此使用关系 模式表示实体类型,二维表格表示实体集,实体间的联系通过键引用来实现。这 些都与非时态数据结构相同,不同的是时态数据具有时效属性。 事务时间的存储表示可分为时间点和时间区间两种形式,它们各有利弊,因 此需要从用户性能和数据库系统的负担两方面去衡量它们,选择一种最佳方案。数据 库添加了事务时间维,就意味着数据操作包括建立、修改、删除在事务提交之后,都 将产生一个新的数据库状态,新状态不会覆盖旧的状态,因此没有数据会从数据库中 被物理删除,数据在不断地增加。而且即使数据的改变甚小,也需要进行所有数据的 重新输入及储存,这样数据增长的速度是非常快的,冗余问题将异常严重,有必要作 适当的存储优化。 时 态实体在关系数据库中的完整表达应该如下: a)有效时间单时态实体:(围皇自庭塞圭毽!查夔盟闻,其它属性) b)事务时间单时态实体:(题应自宣塞圭毽:蔓釜盟闷,其它属性) c)双时态实体:(周应自定望圭键:直熟时间!童箜盟间,其它属性
3
•
双时态数据库与其他时态数据库的比较
时态数据库理论按照时态信息的表示方式把数据库分为以下四种类型: 一、快照数据库:快照数据库只支持一种时间一用户自定义时间。它只有属 性维和元组维两个维度,反映数据某一瞬间的状况,没有状态变迁的维护能力。 二、历史数据库:支持有效时间维的数据库被称为历史数据库。历史数据库 记录了数据的有效时问,在有效时间轴上可以反映现实世界事实的变化过程。但 是,历史数据库没有数据库修改历史的记录能力,数据的更新将使得新的数据覆 盖旧的数据。 三、回滚数据库:支持事务时间维的数据库被称为回滚数据库。回滚数据库 记录了数据操作的事务时间,存储了数据库演变过程中的每一个数据状态。对在 此之前的状态,回滚数据库不具备数据更新能力,只能操纵当前状态的数据。回 滚数据库在每次事务提交的时候都产生一个新版本,数据冗余量比较大。 四、双时态数据库:既支持事务时间又支持有效时间的数据库被称为双时态 数据库。双时态数据库集成了前三种数据库的优良特性,既保存了数据库变迁的 历史又保存了现实世界的事实变化历史。