gpt4 book ai didi

database - 您将如何设计数据库表来跟踪状态属性?

转载 作者:搜寻专家 更新时间:2023-10-30 22:12:08 25 4
gpt4 key购买 nike

我想征求你对一个问题的意见,即使我已经有了我的问题,这样我可以看看我的想法是否连贯。为了不影响任何人(以某种方式),我不会首先公开我的意见。

基本上我有一个用于存储某种对象数据的表。这些对象的状态可以更改,我需要跟踪这些状态更改。现在我想知道您将如何设计数据库的其余部分来做到这一点。

此外,我可以告诉您,状态更改是在特定时间进行的,也必须记住。最后,您必须能够随时确定当前状态。这个问题实际上与您将如何存储和读取当前状态更相关。

如果您需要更多信息来回答,请随时问我。我只是不想给出太多以免影响答案。

PS:我不需要触发器相关的答案

最佳答案

基本上,您需要一个与对象表分开的状态历史表。

objects [id, name, ...]
status_history [object_id, status, valid_from, valid_to]

如果需要,您可以选择在对象表中包含当前状态和时间戳 - 当您只需要知道当前状态(通常是大多数状态)以支付维护成本时,它肯定会加快查询速度。

如果您想对更多属性进行历史记录,而不仅仅是状态或整个记录,您可以使用单个表:

objects [id, seq_number, name, ...., status, valid_from, valid_to]

关于database - 您将如何设计数据库表来跟踪状态属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24927703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com