プロが教える店舗&オフィスのセキュリティ対策術

論理削除とは、boolean型のdeleted_atみたいなものをつけて、trueなら、存在する。falseなら、存在しない(物理的には、存在し、中身はNULL)みたいな事。と認識しているのですが、合っているでしょうか?
deleteではなく、trueの場合のデータを0か、NULLで上書き→falseにする。
という感じで良いでしょうか?また、not nullのフィールドが存在した場合、0を、それ以外はnullを突っ込むという感じですか?
そして、insertの場合、idが自動付番の場合で、10番まで存在し、5番までは、true。6以降はfalseの場合、新しい行を追加するとき、6番目に追加、(update)するのですか?それとも、11番目にcreateするのでしょうか?

A 回答 (1件)

>>論理削除とは、boolean型のdeleted_atみたいなものをつけて、trueなら、存在する。

falseなら、存在しない(物理的には、存在し、中身はNULL)みたいな事。と認識しているのですが、合っているでしょうか?
>>deleteではなく、trueの場合のデータを0か、NULLで上書き→falseにする。
>>という感じで良いでしょうか?また、not nullのフィールドが存在した場合、0を、それ以外はnullを突っ込むという感じですか?

あくまで開発/実装方法のひとつなので断言はできませんが、業界でよく耳にする論理削除の意味とはずれています。
・論理削除されたデータの中身をあえてNULLにしたりはしません(だいたいは元のまま)。
・select時やupdate時にwhere句で論理削除済データを除外して、存在しないものとして扱います。

>>そして、insertの場合、idが自動付番の場合で、10番まで存在し、5番までは、true。6以降はfalseの場合、新しい行を追加するとき、6番目に追加、(update)するのですか?それとも、11番目にcreateするのでしょうか?

idが自動付番の場合は11番目に追加することが多いですが、現場によります。
    • good
    • 0
この回答へのお礼

なるほど!ありがとうございます!

お礼日時:2016/08/06 23:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!