gpt4 book ai didi

sql - 数据库架构 - 用户订阅

转载 作者:行者123 更新时间:2023-12-04 21:42:25 25 4
gpt4 key购买 nike

我的数据库中有一个订阅模型,可以让用户在某些月份订阅类(class)。有几种类型的分配。用户可以:

  • 使用信用卡购买类(class) x 月订阅
  • 通过输入一些激活 key 购买类(class) x 个月订阅
  • 系统管理员将用户分配给 x 个月的订阅。

  • 如果用户续订他/她的订阅,我不会删除旧的订阅,我将在订阅表中创建一条新记录并将旧的记录保留为历史记录,如果管理员更新了相同的订阅,我将创建新记录再次。
    用户的当前订阅由最后一条记录标识。用户类(class)的到期日期是显示在最新记录中的日期。
    例如,如果您检查附加的屏幕截图。

    enter image description here

    用户 1 有三个订阅,其中一个说类(class)必须在 6 月 15 日到期,但实际到期日期是 6 月 14 日,因为这是该用户 - 类(class)组合的最新记录。

    我保留所有这些记录(而不仅仅是更新现有的用户类(class)到期日期)的原因是我需要这些历史记录。如果出现问题,我总能从错误的地方恢复过来。

    我想你已经明白我的想法了,我的问题是,如果这是一个好的解决方案,以及更好的实现想法如何。

    谢谢你的时间。

    最佳答案

    这是我看到的选项。

  • 每次更改订阅日期时添加新记录。好处是用一张表来处理订阅和较少的写入数据库,而不是#2,但表中不需要的记录更多
  • 添加一个审计表来维护更改历史以用于问责目的并编辑订阅表而不是每次发生更改时添加新记录。这里你有 2 次写入数据库,但你有一个更干净的订阅数据库和一个单独的审计表(当/如果需要检查)

  • 有人知道哪个更好或有其他建议吗?

    关于sql - 数据库架构 - 用户订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16496899/

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