1. ホーム
  2. database

[解決済み] データベース レコードを削除するかしないか

2022-07-03 03:51:23

質問

このことに疑問を感じているのは私だけではないと思います。皆さんは普段、データベースの動作についてどのようなことを実践していますか?データベースからレコードを物理的に削除するのが良いのでしょうか? それとも、レコードに "deleted" フラグを付けるか、レコードがアクティブまたは非アクティブであることを示すブール型カラムを付ける方がよいのでしょうか?

どのように解決するのですか?

それは間違いなく、データベースの実際のコンテンツに依存します。セッション情報を保存するために使用しているのであれば、セッションが終了した (または終了した) 場合に、ぜひともすぐに消去してください。そのようなゴミは、実用的な目的で再び使用することはできないからです。

基本的に、あなたが自分自身に尋ねる必要があるのは、この情報を復元する必要があるかもしれないということです。SO で削除された質問と同様に、私たちは削除の取り消しを積極的に許可しているため、間違いなく「削除済み」と表示されるべきです。また、あまり余分な作業をせずに、選択したユーザーにも表示するオプションがあります。

データを完全に復元することを積極的に求めてはいないが、モニタリング (または同様の目的) のためにデータを残しておきたいと考えている場合。私は、(もちろん可能な範囲で) 集約スキームを考え出し、それを別のテーブルに移すことを提案します。これにより、プライマリ テーブルから「削除された」データを取り除き、セカンダリ テーブルを監視目的 (またはあなたが考えていたこと) に最適化したままにしておくことができます。

一時的なデータについては、以下を参照してください。 http://talentedmonkeys.wordpress.com/2010/05/15/temporal-data-in-a-relational-database/