論理削除 【logical delete】 ソフトデリート / soft delete

概要

論理削除(logical delete)とは、リレーショナルデータベースレコードを削除する際、現在有効か否かを示すフィールドを変更することで削除したのと同じ扱いにする方式。実際のデータは削除しない。単にデータを削除する「物理削除」(physical delete)と対比される。

テーブル作成時に「このレコードは削除済み」を意味する論理型ブーリアン型)のフィールド(削除フラグ)を用意しておき、レコードを作成するときはデフォルトで「False」(偽)に設定する。レコードを削除したいときは削除フラグを「True」(真)に変更することで、以降はシステム上からは存在しないものとして扱う。データベース上の実際のデータは削除しない。

後からレコードを復活させたい場合は削除フラグを再び「False」に書き換えるだけで済み、現在無効なものも含め過去のすべてのデータを参照したいといった場合にもデータは残っているため簡単に対応することができる。

ただし、一度登録したデータは削除されないため用途によっては時間経過に従って記憶容量の逼迫や処理性能の劣化が問題となることがある。また、そのテーブルを扱うクエリプログラムなどは必ず削除フラグの存在を加味したコードにしなければならず、不具合や欠陥を誘発しやすいとされる。

(2021.10.25更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる