📜  数据库中的时间概念

📅  最后修改于: 2021-09-09 11:53:40             🧑  作者: Mango

数据库用于以关系的形式对外部现实世界的某些方面的状态进行建模。通常,数据库系统仅存储一种状态,即现实世界的当前状态,并且不存储有关先前和过去状态的数据,除非作为审计跟踪。如果现实世界的当前状态发生变化,数据库就会被修改和更新,而关于过去状态的信息就会丢失。

然而,在现实生活中的大多数应用程序中,都需要存储和检索有关旧状态的信息。例如,学生数据库必须包含有关该学生先前表现历史的信息,以准备最终结果。自主机器人系统必须存储有关来自环境的传感器当前和以前数据的信息,以便有效地采取行动。

例子:

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 ,其中包含两个字段。

数据库中的时间概念中使用的重要术语很少:

  1. 时态数据库:
    跨时间存储有关现实世界状态信息的数据库称为时态数据库。
  2. 有效时间:
    有效时间表示事实相对于现实世界为真的时间段。
  3. 交易时间:
    事务时间是将事实存储在数据库中的时间段。
  4. 时间关系:
    时间关系是这样一种关系,其中每个元组在它为真时都有一个关联的时间;时间可以是有效时间或交易时间。
  5. 双时间关系:
    有效时间和交易时间都可以存储,在这种情况下,这种关系被称为双时关系。