はじめに
DBについて学習する過程で、物理削除と論理削除とは何なのか、活用法までイメージがつく程度に調べました。
結論
物理削除:実際にデータを消す
論理削除:データを消したことにする
基本的には論理削除を行うが、削除してから時間が経ったものは物理削除する。
物理削除とは
文字通りデータを消すこと。鉛筆で書いた時を消しゴムで消すようなイメージ、一度消すと元に戻せない。
メリット
・完全に削除するのでPC自体の容量を空けることができる。
・不要なデータを残さなくて済む
デメリット
・復元ができない
論理削除とは
データを「消したこと」にする。キーボードで文字を打つ際、文字を消しても取り消せる機能のイメージ。
メリット
・復元できる
デメリット
・実際に消しているわけではないので容量を開けることができるわけではない
論理削除の仕組み
削除フラグをつけることで論理削除を可能にしている。
例えば以下のようなデータベースがあったとする。
| ID | Name | Delete |
|---|---|---|
| 1 | タロウ | ◻️ |
| 2 | ハナコ | ◻️ |
| 3 | モモコ | ◻️ |
| 4 | マサキ | ◻️ |
| 5 | ケイタ | ◻️ |
これらはどれも論理削除されていないので、5人の名前がそのまま名簿として表示される。
| ID | Name |
|---|---|
| 1 | タロウ |
| 2 | ハナコ |
| 3 | モモコ |
| 4 | マサキ |
| 5 | ケイタ |
ここで論理削除を行うためにタロウのレコードのDeleteカラムのチェクボックスを埋めると。
| ID | Name | Delete |
|---|---|---|
| ☑️ | ||
| 2 | ハナコ | ◻️ |
| 3 | モモコ | ◻️ |
| 4 | マサキ | ◻️ |
| 5 | ケイタ | ◻️ |
タロウのレコードが論理削除されたため、表示される名簿は以下の通りになる。
| ID | Name |
|---|---|
| 2 | ハナコ |
| 3 | モモコ |
| 4 | マサキ |
| 5 | ケイタ |
使い分け
この二つは以下の使い分けを行うのがよさそう。
・基本は論理削除を使い削除しつつ、復元できないリスクを回避する。
・論理削除したものの中から、古くなったりして完全に必要ないと確定したデータのみ物理削除。
参考にしたサイト