数据库用于以关系的形式对外部现实世界的某些方面的状态进行建模。通常,数据库系统仅存储一种状态,即现实世界的当前状态,并且不存储有关先前和过去状态的数据,除非作为审计跟踪。如果现实世界的当前状态发生变化,数据库就会被修改和更新,而关于过去状态的信息就会丢失。
然而,在现实生活中的大多数应用程序中,都需要存储和检索有关旧状态的信息。例如,学生数据库必须包含有关该学生先前表现历史的信息,以准备最终结果。自主机器人系统必须存储有关来自环境的传感器当前和以前数据的信息,以便有效地采取行动。
例子:
ID name dept name salary from to
10101 Srinivasan Comp. Sci. 61000 2007/1/1 2007/12/31
10101 Srinivasan Comp. Sci. 65000 2008/1/1 2008/12/31
12121 Wu Finance 82000 2005/1/1 2006/12/31
12121 Wu Finance 87000 2007/1/1 2007/12/31
12121 Wu Finance 90000 2008/1/1 2008/12/31
98345 Kim Elec. Eng. 80000 2005/1/1 2008/12/31
在上面的例子中,为了简化表示,每一行只有一个与之相关的时间间隔;因此,对于它为真的每个不相交的时间间隔,一行被表示一次。此处给出的区间是 from 和 to 属性的组合;实际实现将具有结构化类型,称为Interval ,其中包含两个字段。
数据库中的时间概念中使用的重要术语很少:
- 时态数据库:
跨时间存储有关现实世界状态信息的数据库称为时态数据库。 - 有效时间:
有效时间表示事实相对于现实世界为真的时间段。 - 交易时间:
事务时间是将事实存储在数据库中的时间段。 - 时间关系:
时间关系是这样一种关系,其中每个元组在它为真时都有一个关联的时间;时间可以是有效时间或交易时间。 - 双时间关系:
有效时间和交易时间都可以存储,在这种情况下,这种关系被称为双时关系。