問題
製品と注文を扱う Web アプリケーションで、元従業員 (ユーザー) と彼らが処理した注文の間の情報と関係を維持したいと考えています。廃止された製品とこれらの製品を含む注文との間の情報と関係を維持したい。
ただし、元従業員、廃止された製品、廃止された製品グループなどを削除するなど、従業員が管理インターフェイスを整理できるようにしたいと考えています。
ソフト削除の実装を考えています。では、通常、これをどのように行うのでしょうか。
私の当面の考え
flag_softdeleted
私の最初の考えは、ソフト削除可能にする必要があるオブジェクトのすべてのテーブルに「TINYINT NOT NULL DEFAULT 0」列を貼り付けることです。または、代わりにタイムスタンプを使用しますか?
次に、関連する各 GUI に「削除済みを表示」または「削除を取り消す」ボタンを用意します。このボタンをクリックすると、ソフト削除されたレコードが結果に含まれます。削除された各レコードには「復元」ボタンがあります。これは理にかなっていますか?
あなたの考え?
また、関連するリソースへのリンクをいただければ幸いです。