我想创建自己的工资引擎作为网站。在 Oracle ERP 应用程序中,在表上设置开始日期和结束日期是很常见的事情,这样您就可以拥有随时间变化的值。开始日期和结束日期也将与 id 一起构成表的主键。
这允许时间变化(随时间变化)。通常还需要额外的验证以防止时间重叠。另一个问题是,您还可以在该时间范围内不存在数据的时间进行查询,然后您可能希望跳转到最近的或最后一个存在的时间范围。
在 Oracle 的最新数据库版本中,时间有效性终于成为一件事,请参阅此链接;但它仍然没有成为例如 Oracle APEX 的方式。
当然,指定您想要价值的时间应该是很多人想要的东西,尤其是随着时间的推移,地址等的薪水。
为什么 Web 开发框架(特别是带有 SQL Alchemy 和 Postgresql 的 Python Flask)和它们的教程从不展示如何处理诸如此类的时态数据,或者我是否遗漏了现成的东西?或者除了我自己绝对不会写的东西之外,我还能做些什么来改变这个事实?
处理临时表是给定数据库的特定功能。相比之下,Flask 和 SQLAlchemy 等工具专为广泛的应用程序而设计。因此,关于这些工具的教程的主要关注点可以说是展示如何提供一般内容(无论内容是什么),而不是专注于特定的用例。如果最终用户足够精通给定的框架等,为时态数据设计接口应该(理论上)相对简单。
作为旁注,如果你想要一个插件来启用 PostgreSQL 中的时态表,你应该看看temporal_tables。