gpt4 book ai didi

database-design - 实时和草稿数据的数据库模型

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

我一直在考虑在数据库中保存“实时”数据集和数据草稿集的最佳方式。实时版本显示在网站上,草稿版本一直在工作,直到准备好上线。该模型是关系模型,由许多表组成。

我目前的方法是有 2 个数据库,一个用于草稿,一个用于实时。
当您将数据提升为实时数据时,SQL 只是将数据从草稿数据库复制到实时数据库。

这很好,但有点慢而且看起来很乱。并且 SQL 经常必须考虑两组表。

另一种方法是将实时指标作为每个表的键的一部分,这样我就可以在同一个表中保存实时和草稿 - 并更新指标以使数据生效。
- 我对这个想法并不感冒。

  • DBMS 是 Sybase。

  • 如果有人有任何其他建议,我将不胜感激。

    美国

    最佳答案

    有一张 table

    DataTable
    DataKey
    DataMode
    Data...

    PK是DataKey+DataMode
    检查约束:DataMode IN ('L','D') --live 或draft

    您首先使用 DataMode='D' --draft 插入
    当它上线时,使用 INSERT SELECT 将其复制到同一张表,设置 DataMode='L'
    始终编​​辑 DataMode='D',并在完成后将其推送到 DataMode='L'。

    当你想在模式中显示数据传递时,使用 WHERE DataKey=@x AND DataMode=@Mode

    我不确定您将如何处理删除(草稿删除然后将其推送到现场?)您可能想要添加一个状态列:
        DataStatus  --'A'ctive 'D'eleted

    在一个表中执行它允许所有 sql 的共同使用来为“L”ive 或“D'raft”工作。

    关于database-design - 实时和草稿数据的数据库模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/947065/

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