はじめに
私は、データベースの設計について取り組むことになった。そこで初めてユーザーのIDやパスワードなどさまざまなデータが保存されるデータベースには論理削除というものがあるということを知った。そこで得た知識を以下にまとめてみた。
論理削除(ソフトデリート)
データベースのカラムにboolean型(True or False)で定義された削除フラグというものを立て、Trueの場合、そのデータは削除されたものとみなしユーザーにはそのデータが見えないようにするというもの。
Falseに指定されているデータは見ることができる。また、ユーザー視点では削除されているように見えるが実際はデータベースには残っておりFalseに戻すことで復元も可能である。
用途
- ユーザーからのアカウントの復旧の依頼
- 外部に効果したくない情報があるときに利用
まとめ
削除フラグを立てることで、データの保護を保護したりユーザーのリクエストにも答えることができる。また、対義語で物理削除(ハードデリート)というものがあり、これはデータベースから完全にデータを削除するという。これらは公開しても良いデータか否かによって使い分ける必要がある。