Update数据库表设计

Black__Lotus 2020-05-07 04:19:45
想请教大佬如何设计数据库表

ABCDE几个表,ABCDE几个表每次update的时候,都不是真的update,要等一个管理员审核,通过了再update,未通过就保持原样,这样的话,是不是应该再设计一个审核表F,每次update都把数据存到这个表里,设计是否审核通过的状态status字段,然后ABCDE几个表创建一个f表的id来关联审核表,审核通过后,再从F表中取出数据来update其他的表?

不过如果这样设计的话,怎么通过F表去找ABCDE中的那条记录呢,如果同时存一个id到F表的话,又如何知道是哪个表的id呢?还是说需要另外一个字段来存表名,通过代码去判断是哪张表?
...全文
146 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Python小叮当 2020-10-01
  • 打赏
  • 举报
回复
同意2楼的说法,管理员来操作rollback和commit,而你说得更新操作更多的是一个状态
an_bachelor 2020-05-09
  • 打赏
  • 举报
回复
这个场景个人以为逻辑上更适合采用事务/回滚 因为从你的表述 这个逻辑真实的涵义就是“已提交等待审核” 而不是“已更新,写入日志 等待可能的回滚” 另外事务具体的隔离级别可以调整根据你的需求调整 日志模拟的话你还需处理可能的隔离级别带来的问题呀。。 回到你的具体问题 不如A-E每个表设计一个ATmp/BTmp... 表结构与AB。。完全一样 可回滚的Update就写入这些临时表 再单独做一个索引项表 放具体的操作时间/时间线节点、操作人、提交/审计状态、该Update事务涉及到修改哪些表中的哪些列
  • 打赏
  • 举报
回复
也可以在一个表里,状态字段默认为未审核,只能管理员修改这个字段。

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧