2009-04-16 11 views
4

「更新者」タイプのフィールドをデータベースに格納するための推奨方法またはベストプラクティスがあるかどうかは疑問です。私はかなり頻繁に格納されているユーザーの名前を見る傾向がありますが、私はそのテーブルを最後に更新したユーザーのIDでテーブルを設計しています。更新されたフィールドのテーブル内で推奨される方法は何ですか?

一方の方法を使用する理由はありますか?私は私の方法が好きな逆参照をユーザーに得るために好きです...一方、それはまた、一般的にあなたが(これもCreated Byとにかくこれを使用する場合)ユーザーを削除することはできませんことを意味します。

答えて

4

データベース内のエンティティによって表されるユーザーに更新を結び付ける方法がある場合は、次の手順を実行してください。それを使ってください。あなたはそのような仕組み(データベースのユーザーはいない)がない場合は、ユーザー名を保存するのがいいです。

3

あなたの方法は健全です。ユーザーを削除するのではなく(「アクティブ」ビットフィールドを使用してアーカイブする)。この方法では、たとえそのユーザーが非アクティブであっても、履歴レコードは保持されます。

6

名前の代わりにIDを格納してください。そうでない場合、何らかの理由でユーザー名を変更したい場合はどうしますか?

ほとんどのシステムでは、ユーザーは決して削除しないでください。 「アクティブ」フラグ、または同等のものを持っているだけです。

3

は、ユーザーの名前ではなくユーザーのIDを使用します。 DBからUser行を削除しないで、statusフィールドを使用して削除済みとしてマークします。

関連する問題