もし他にも複数のテーブルをjoinさせていたら、削除済みかの条件を指定する部分がより複雑になっていくでしょう。 その結果is_deletedを考慮する部分が抜け漏れてしまったり、クエリの見通しが悪くなり、デバッグやメンテナンスが困難になることがあります。 ユニーク制約に工夫が必要 論理削除ではデータが残るため、ユニーク制約が期待通りに機能しない場合があります。 例えば、usersテーブルでは、メールアドレスにユニーク制約をかけることが一般的です。 しかし、論理削除を採用している場合、削除済みのデータもテーブルに残るため、新たに同じメールアドレスを登録することができません。 一つの解決策として、emailとis_deletedカラムの複合ユニーク制約を設定する方法が考えられますが、この方法では同じメールアドレスを持つデータを複数回削除することができません。 解決策の一つとしてdeleted_