时态数据库设计的综合指南
1. 时态数据库基础
在时态数据库中,对于每个时态维度,当前状态区间的右边界被设定为无限的未来,用一个有效的时间戳表示。实体表和关系表共同构成了数据库表的集合,不过,还可以通过数据库表派生构建和使用其他表,但这些表可能不具备某些一致性属性,在与数据库表一起使用时需要特别注意。
1.1 时态状态属性
- 单维时态表 :对于单维时态表,时间戳列简单地称为
Start和End。有效时间时钟的粒度使得对于任何给定的实体或关系,在同一时钟滴答内不会发生两个状态变化,同样,在同一事务时间时钟滴答内不会记录同一实体/关系的两个状态。因此,对于任何状态s,有s.Start < s.End。 - 时态实体表 :在时态实体表中,无论是事务时间还是有效时间,与同一实体相关的所有行形成一个连续的历史。即除最后一行外,每一行(状态
s1)都有一个下一个状态s2,使得s1.End = s2.Start。此外,任何两个连续的状态(s1.End = s2.Start)必须不同,即至少一个属性列的值是不同的。 - 双时态实体表 :在双时态实体表中,每个事务时间快照(即在给定时刻
T已知为当前的表状态)必须是一个满足上述属性
超级会员免费看
订阅专栏 解锁全文
57

被折叠的 条评论
为什么被折叠?



