Microsoft Access 掲示板

レコードを削除するか削除フラグフィールドを追加するか / 3

4 コメント
views
4 フォロー
3

質問のリンク先
論理削除はアンチパターンなのか? #MySQL - Qiita
で提示されているデメリットについて今回の案件で検討してみます。

パフォーマンスへの影響
現在レコード数が約5万件、月2~300件程度の追加、削除(キャンセル)件数3%程度

このぐらいのデータ件数なら、削除フラグフィールドにイデックスを設定しておけば、ほとんど影響ないとかんがえていいと思います。

クエリの複雑化
Accessではクエリはテーブルと同等に扱えます。
上記の回答でしたように、論理削除レコードを除いたクエリを作成しておいて、それを使えば、現象のクエリやフォーム、レポートの修正する必要はありません。
クエリも複雑化しません。

ユニーク制約に工夫が必要
リンク先ではusersテーブルのメールアドレスにユニーク制約(Accessでは「重複なしのインデックス」)を設定する場合を例に挙げてますが、おそらく今回の注文テーブルではそのようなフィールドはないのではないかと。
あったとしても、私の回答の方法では削除日時をフラグフィールドにしているので、複数フィールドインデックスでユニーク制約の設定は可能です。

ということで、今回の要件なら大きなデメリットはないかと思います。

通報 ...