昨日私が非常に尊重する誰か近い私の友人からおよび私は頻繁に尋ねられた質問を受け取った。 彼の単語:

私が書直していること私の新しい会社に既存のシステムがある。 システム
決して実際にaを削除することの哲学に続かないデータベースを持っている
記録-ちょうど削除した旗の印を置きなさい。 これについてどう思いますか。

一般に、私はそれが悪い考えであることを考える。 私はそれがちょうど仕事を作成することを考える
他の区域のあなたのため。 しかし私は純真であることができる。

私は乾燥したのこの指針がある「柵のルビー」を使用している、(
あなた自身を繰り返しなさい)。 柵はに伝統的にある事を置く
規則のような目的関係地図を描く層へのデータベース、
参考用の完全性。 私は参考用の完全性が2に普通あることを推測する
場所: アプリケーションコード(ビジネス・ロジック)およびデータベースのメタデータ。
とにかく、データベースの抑制は柵でまれに使用されない。

システムは議論板そしてロットが付いているコミュニティ場所、のである
メンバーによって貢献される他の共用内容。 メンバーはかもしれない
許可は削除されるか、または不具になり。

私は削除されればメンバーを削除するように誘惑される。 私は誘惑される
削除されれば内容を削除するため。 私は去るように誘惑される
内容自体がなければ前のメンバーからの内容
私が準を逃している内容を推測するけれども、不適当
メンバーの記録はちょっと孤児である。 (私はちょうど大声で考えている
ここに)。

一般的な推薦を有するか。

私は時ひとつひとつのsql声明に「加えることを憎む(削除されるある
0かdeleted=0) 「。 そして私は他の問題が、のようなあることができることを考える
「印が付いている記録との独特な主衝突は削除した」。

プロジェクトで私は種類の「弱いのが」あったスキーマを作成した
それの関係。 これは目的の計画システムだった。 目的のテーブル
ユーザー名のコラムを持っていた。 見つけるのにこのユーザー名のコラムが使用できる
ユーザーテーブルのユーザー。 しかしユーザーが削除されたら、まだ目的
うまく表示される。 私はかどうか後で結合されるユーザー推測しaを再使用する
前に使用されたユーザー名それらはある既存の目的を受継ぐ。
実際にはこの特徴はスキーマのための刺激だった-私はから始まった
一組の大きい展開表および私からの目的はそれらに存在してほしかった
私はユーザーおよびそれらを加えられる目的の取得所有権たいと思った
既にシステムで。

最後に私が記録を削除すれば、削除される救うことを推薦する
別のテーブルの記録か。 それは一般的な方法であるか。


それの私の取得はここにある:

決して記録を削除することは主にFDAの承認のために竸う金融業界およびある製薬会社で続かれる練習ではない。 財政をまたは取扱うか、時はいつでも他の感知可能データそれはそれをこのようにアーカイブする悪い考えではない。 そのようなデータを管理することは適度に容易である。 まれであるそのようなデータがほしいと思うときだけただされる1つ以上の二次データベースに周期的に印が付いている記録を削除されて動かすことができる。 従ってそれは削除された記録をただすより遅い応答時間を過すことは良い。
こうすればはあなたの第一次データベースの残物の傾き絶食し。

今日第3必要性は社会的なネットワーキングおよびコミュニティ場所に現れている(決して記録を削除するために)。 多くの場合テロリストネットワーク(Yahooのグループでように)またはドラッグ・ディーラーは地理的に分散メンバーと伝達し合うのに(Orkutでように)そのような場所を使用する。 コミュニケーションデータをアーカイブすることは後でそれらを見つけ出すことの捜査当局を助けるかもしれない。 flipsideは同じ権限によって正常な市民の私生活にテコで動くのに乱用することができることである。 しかしそれは別の日の物語である :)

>私は削除されればメンバーを削除するように誘惑される。 私は誘惑される
削除されれば内容を削除するため。 私は去るように誘惑される
内容自体がなければ前のメンバーからの内容
私が準を逃している内容を推測するけれども、不適当
メンバーの記録はちょっと孤児である。 (私はちょうど大声で考えている
ここに)。

私は内容等あなたがこれらの記録から得ることができる摩擦(場所を去るか、または削除されている人々)の率をそのうちに見つけることのような付加的な価値を見ることができる。 全面的孤児の記録上の頭痛の多くを減らすまたはRoRはそれによって決まることを参考用の完全性問題は(私が考えないけれども)道をおろす。 それがあるのでハードウェアはこのごろ安い。

従って私は要約するために考える:
そこのa.は削除された記録を単に保つことおよび削除されるように印を付けることの複数の利点である
そこのb.は二次データベースに常に周期的にそれらを移動できるようにあなたの場所が次のMySpaceになっても頭上にそのような決定と関連付けられる多くの費用または性能ではない。

ほとんどのsqlの問い合わせは記録を単に捜す削除された分野セットがない。 削除された記録を含む問い合わせのために二次データベースを使用することにすれば第一次データベースを見、次に二次削除された記録データベースを見なければ最初にならない。

> 「印が付いている記録との独特な主衝突のように削除した」。
それは問題ではない。 重負荷を期待すれば索引のために長い整数を使用したいと思う場合もある。 正常な符号なし整数は4GBだけ与える。

私が記録を削除すれば、>最終的に別のテーブルの削除された記録を救うことを推薦するか。 それは一般的な方法であるか。

削除されるようにそれらに単に印を付ければ別のデータベースに単に周期的にそれらを動かすことができる。 私はより多くの混乱を作成するために本当らしい別のテーブルにそれらを同様に動かすことを提案しなかったし、多くのwrt助けない。 性能。 それは削除された記録を除けばへ適度に一般的な方法である。 私はそのようなシステムを使用した。 私はそれらが(印は削除されるようにそれらを記録する)より多くの問題を解決することがより彼ら結局は作成する分ることを考える。

私に何あるこの問題のあなたの取得が、私のブログの読者、知らせなさいか。