我正在考慮爲從未真正刪除任何內容的數據庫設計關係數據庫架構(設置已刪除的標誌或其他內容)。A永不刪除關係數據庫架構設計
1)通常使用哪些元數據列來容納這樣的架構?顯然可以設置IsDeleted的布爾標誌。或者,也許只是在刪除列中的時間戳效果更好,或者可能兩者都更好。我不確定哪種方法在長期內會給我帶來更多問題。
2)在這樣的體系結構中通常如何處理更新?如果您將舊值標記爲已刪除並插入新值,您將遇到PK唯一約束問題(例如,如果您有PK列ID,則新行必須具有與您剛標記爲無效的ID相同的ID,或否則在其他表中的所有外鍵將被渲染爲無用的)。
如果你有一個表,一個與外國約束表B和表B中被刪除的行,你想要什麼發生?我們是否假設A中的引用行已被刪除?應該在B的新行中指向一個點嗎?如果行A仍然存在,並繼續指向刪除的行B? –