时间间隔表示与类型关系解析
1. 持续时间管理与建模
1.1 单时间点建模
最初,人们尝试用单个时间点来表达有效性。但这种方法存在明显局限,数据存储和后续处理效率低下,因为可能出现大量重复元组。不过,当把这个时间点定义为有效性的起始点时,能对持续时间进行建模。每个对象的新状态会自动限制其直接前一个状态的有效性,同时也能涵盖未来的有效状态。然而,它无法对完全未定义的状态进行建模,需要引入特殊符号来解决这一问题。
1.2 双时间点建模
为了更全面地解决问题,采用两个时间点来表示有效性持续时间框架的起止点。根据起止点是否属于有效范围,存在多种表示模型,其中最常用的是闭 - 开(Closed - Open)和闭 - 闭(Closed - Closed)表示法。使用时必须严格遵循相应原则,并应用于相关数据属性。而且,所有这些模型都可以通过额外的一个时间点直接转换。
1.3 无限有效性建模
在持续时间建模中,开发者通常会用 NULL 值来表示持续时间间隔的无限右边界(ED)。但 NULL 值没有明确的含义,也不包含任何信息。实际上,ED 只是尚未发生,未来会出现。因此,使用 MaxValueTime 进行建模更为可靠。
1.4 代码示例
下面是获取时间差输出的代码:
return case v_shift when true then '-'
when false then '+'
else ''
end
超级会员免费看
订阅专栏 解锁全文
176万+

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



