数据库时间管理与相关问题解析
1. 时间概念在数据库中的重要性
在数据库管理中,时间相关的概念至关重要。例如,存在这样的陈述:“供应商 Sx 自日期 d 起已签订合同”(T2)以及“供应商 Sx 在从日期 b 到日期 e 的时间段内签订了合同”(T3)。从这些陈述可以看出,“期间(during)”这个概念对于历史记录极为重要,并且这一概念在后续的数据库操作和分析中会频繁出现。
需要注意的是,虽然我们常提及“历史数据”和“历史记录”,但时间数据库实际上可以包含关于未来以及过去的信息。比如,我们可能希望记录供应商 S1 将在从日期 b 到日期 e 的时间段内签订合同,其中 e 可能是未来的日期。所以,在数据库领域,“时间(temporal)”这个术语涵盖了未来的时间范围。
2. 有效时间与事务时间的区别
在传统(非时间)数据库中,除非有明确的约束限制,否则任何数据都可以被更新。然而,当涉及到历史数据的更新时,就会出现看似可以改变历史的情况。实际上,数据库中存储的并非“真实世界”,而是我们对真实世界的认知或信念。虽然过去是不可改变的,但我们对过去的认知是可以改变的。
在时间数据库文献中,“有效时间(valid time)”和“事务时间(transaction time)”这两个术语用于区分上述情况。下面通过一个简单的例子来详细说明:
- 有效时间示例 :假设命题 p 为“供应商 S1 签订了合同”。当前我们认为该情况从 1999 年 7 月 1 日持续到 2000 年 5 月 1 日,于是向数据库插入如下元组:
| S# | FROM | TO |
| — | — | — |
超级会员免费看
订阅专栏 解锁全文

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



