[解決済み] データベース レコードを削除するかしないか
質問
このことに疑問を感じているのは私だけではないと思います。皆さんは普段、データベースの動作についてどのようなことを実践していますか?データベースからレコードを物理的に削除するのが良いのでしょうか? それとも、レコードに "deleted" フラグを付けるか、レコードがアクティブまたは非アクティブであることを示すブール型カラムを付ける方がよいのでしょうか?
どのように解決するのですか?
それは間違いなく、データベースの実際のコンテンツに依存します。セッション情報を保存するために使用しているのであれば、セッションが終了した (または終了した) 場合に、ぜひともすぐに消去してください。そのようなゴミは、実用的な目的で再び使用することはできないからです。
基本的に、あなたが自分自身に尋ねる必要があるのは、この情報を復元する必要があるかもしれないということです。SO で削除された質問と同様に、私たちは削除の取り消しを積極的に許可しているため、間違いなく「削除済み」と表示されるべきです。また、あまり余分な作業をせずに、選択したユーザーにも表示するオプションがあります。
データを完全に復元することを積極的に求めてはいないが、モニタリング (または同様の目的) のためにデータを残しておきたいと考えている場合。私は、(もちろん可能な範囲で) 集約スキームを考え出し、それを別のテーブルに移すことを提案します。これにより、プライマリ テーブルから「削除された」データを取り除き、セカンダリ テーブルを監視目的 (またはあなたが考えていたこと) に最適化したままにしておくことができます。
一時的なデータについては、以下を参照してください。 http://talentedmonkeys.wordpress.com/2010/05/15/temporal-data-in-a-relational-database/
関連
-
[解決済み] ATTACHで開いたSQLiteデータベースファイルのテーブルを一覧表示するにはどうすればよいですか?
-
[解決済み】データベースで継承を表現するには?
-
[解決済み] データベース レコードを削除するかしないか
-
[解決済み] SQLite UPSERT / UPDATE OR INSERT
-
[解決済み] リレーショナル・データベースにおけるカタログとスキーマの違いは何ですか?
-
[解決済み] Mavenプラグインを1回だけ実行する?
-
[解決済み] データベースに郵便番号を格納する必要があります。カラムの大きさはどのくらいにすればよいでしょうか?
-
[解決済み] SQLITE SQLダンプファイルをPOSTGRESQLに変換する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン