自動ニュース作成G
DELETE_FLAG という思考停止フラグ
http://qiita.com/Jxck_/items/156d0a231c6968f2a474
2015-04-03 01:04:21
>DELETE_FLAG という boolean の列が DB 設計でよく話題になります。
>論理削除という言葉で上手に論理武装し、スキを見せるとすぐに入れたがる人がおり、一方でそれにつよく反対する人もいます。
・思考停止してるわけじゃないんだよ。客ってね、色々いるの。それ以上はお察しください。・他の方法で可能である事を示してはいるけど、むしろ何でそんなに目の敵にするのか知りたいな。強力なデメリットが無いなら別に思考停止しても構わないと思うが。・多分、目の敵にしてるのはあまり考えない人の設計の特徴と考えてるからじゃないかな。・#1みたいに最後まできちんと説明しない人みると、そこで思考停止してるんじゃないかと思う。・品種マスターや担当者マスターで、もう存在しないから新規選択とかにはださないけど過去履歴追うためによく使うんだが…・動いてお金もらえればどうでもいいです。・#1 「お察しください」が通用しないタイプの人が書いてるのかね。 どういうタイプかはお察しください・削除済みテーブルに追い出す方に思考停止してたわ・フラグ1本で管理してないで履歴テーブル作ったりきっちり設計しろって話をしたいんだろうけどコストかかるからやらないって話を解ってないな・ここまでちゃんと考えるヤツはいずれにしても有能。「お察しください」を調整するのはこういうヤツの仕事じゃない。営業なり上司なりが、なだめすかしつつ調整してやらないとな。・考えた上で察する事のできるメンバーから見ると単に無能だけどな・DELETE_FLAGの「誘惑」は ロジックが簡単で工数が掛からずバグが出にくく見えたり、 意図せぬ削除により修復出来なかった場合被害が甚大になる 等のどちらかといえばリスクマネージメントに関するものに思う。・一方物理削除のメリットは レコードの件数が減る事による 記録サイズの減少 処理速度の向上 位じゃないか? この人も書いている「物理で殴る」事で解決出来るし 支障が出てきたら後からバッチでレコード消しても構わない。 むしろ物理削除に拘っているのは 抽象化して考えられない様にも見えるな。・プロジェクトからするとお客様の情報や納期の重要性の前では処理速度や洗練された方式にする事なんか霞んじゃうんだよ。・土方に設計をさせるのがおかしいって事で。・政治や社会問題もそうだけど、現実的な運用を考えずに「べき」論を主張するのは、所詮それ止まりの人。・#13 商品や担当者とかのデータで削除後にも参照する必要があるなら削除フラグで問題ないけど、そうでないのに削除フラグを使うのは作りが悪いだけ。 破壊的な削除が不安なら、履歴用のログやテーブルに吐き出すだけでほとんどは解決する・削除フラグなんて使ってたら、DBの制約もまともに使えなくなって台無し。工数が減るどころか増えちゃうよ。100件のデータを100回追加削除したらあっという間に1万レコードになって結合なんかは爆遅。っていう運用寄りの想像力が無い人が設計する時によく使いたがる。・そんなシビアな使い方するシステムばっかじゃないんだよ。要は程度の問題だろ。そういう事情の違いも読み取れないのはPGならアリだがSEではナシ・#19 『安易なフラグを付けることによって設計にしわ寄せが』いくんですよ。程度の問題としてる時点で理解できてない感じ。・自分の理解出来ない事は相手の理解が足りないって事にしときたいんだろ?・#21 17に対して具体的に指摘するならともかく、「PGならアリだがSEではナシ」なんていうふわっとした反論しかしてなくてそれは無いよ・・。・あ、17読んでなかった。18だけしかみてなかった。すまんね。論理削除だから削除しない前提なのになんで100回削除追加したら10000件とか言ってるのか意味わからなくてな。・同じデータを100件追加削除しても、論理フラグ実装なら二度目の追加はフラグ戻すだけだから何万回繰り返しても100件だからなぁ。・そもそも主キーどうなってんだよ、その1万レコードになるテーブル。・#24 なぜ同じデータを前提にしているのか分からないけど、同じキーをdelete_flgで管理するのはおかしいでしょ。状態が変わるだけならenable,disableとかの値で管理しようよ。・別のデータなら100件100回追加したら論理削除だろうと何だろうと1万件行くのは当たり前だから、わざわざ例に持ち出すぐらいだから同じデータの事だろ?・同じキーを削除フラグで管理するのはおかしいって言われてもなあ…。一意のキーが存在しないデータに論理削除キー入れる意味あるのか?それともcolumn名称がおかしいって方向に論点を変更したのか?わけわからん・トランザクション系のテーブルの話じゃないだろ、常識的に考えて。・なんでもモノは使いようなのにDELETE_FLGは悪ときめてかかれば反論は当然あるし、肯定するには何らかの条件設定が必要になるけど、その手の変な条件は言い出しっぺの#0のブログ主意外が提示してもなんの意味もないと思うんだが。・#27 不要なデータを論理削除にするか物理削除にするかという話で、「論理削除だろうと何だろうと1万件行くのは当たり前だから」と書いてる時点で根本の理解が怪しい気が。・はいはいそーですねー。