想請教大佬如何設計資料庫表
ABCDE幾個表,ABCDE幾個表每次update的時候,都不是真的update,要等一個管理員審核,通過了再update,未通過就保持原樣,這樣的話,是不是應該再設計一個審核表F,每次update都把資料存到這個表里,設計是否審核通過的狀態status欄位,然后ABCDE幾個表創建一個f表的id來關聯審核表,審核通過后,再從F表中取出資料來update其他的表?
不過如果這樣設計的話,怎么通過F表去找ABCDE中的那條記錄呢,如果同時存一個id到F表的話,又如何知道是哪個表的id呢?還是說需要另外一個欄位來存表名,通過代碼去判斷是哪張表?
uj5u.com熱心網友回復:
也可以在一個表里,狀態欄位默認為未審核,只能管理員修改這個欄位。uj5u.com熱心網友回復:
這個場景個人以為邏輯上更適合采用事務/回滾 因為從你的表述 這個邏輯真實的涵義就是“已提交等待審核” 而不是“已更新,寫入日志 等待可能的回滾” 另外事務具體的隔離級別可以調整根據你的需求調整 日志模擬的話你還需處理可能的隔離級別帶來的問題呀。。回到你的具體問題 不如A-E每個表設計一個ATmp/BTmp... 表結構與AB。。完全一樣 可回滾的Update就寫入這些臨時表 再單獨做一個索引項表 放具體的操作時間/時間線節點、操作人、提交/審計狀態、該Update事務涉及到修改哪些表中的哪些列
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/15223.html
標籤:數據庫
上一篇:Jsteg的隱寫分析
下一篇:多少年沒來了,還有人記得我嗎
