fc2ブログ
 

Technology へようこそ
ここは技術者の「経験」と「ノウハウ」のブログです


2006年09月06日

物理削除か論理削除か

以前、とあるシステムのDB設計を行った際、「削除フラグ」が話題になった
ことがありました。そのときは結局、「項目は保持するけど、未使用扱い」
ということで落ち着いたのですが、設計時の経緯を知らないひとがDB構造を
見た場合にどう思うか?ということは結構重要です。「保守性」がよいか
わるいかということなんですが。

「削除フラグ」は「論理削除」を意味します。少し考えてみれば解るのです
が、あるキーのデータが論理削除され、同一キーのデータが入力された場合、
1回目はよいのですが、2回目以降、キー重複になってしまいます。では削除
フラグをキーにすればよいかというとそういうことにはなりません。

本来、削除フラグを持つ、ということは「履歴を残したい」場合が多いので、
前回削除フラグが立ったレコードを削除後、今回削除されるデータをアップ
デートすればよい、というのは意味がない場合が多いのです。

すっきりさせるためには「履歴テーブル」を別途用意して、本来のテーブル
は「物理削除」というのがよいのかもしれません。

データベースの設計とは難しいものです。

この記事に対するコメント


この記事に対するコメントの投稿














管理者にだけ表示を許可する



この記事に対するトラックバック
トラックバックURL
http://comfair2.blog24.fc2.com/tb.php/226-616a9429
この記事にトラックバックする(FC2ブログユーザー)