2009-03-28 8 views
1

私のサイト(ASP.NET/C#/MS-SQL 2005)にはコメント(ユーザープロファイル、イメージページ、ビデオなど)を許可するセクションが複数あります。私はすべてを1つのコメントテーブルに保存したい。複数の種類の親を持つコメントテーブル

私の問題は、コメントをその親に戻してリンクすることです。ユーザープロファイルのプライマリキーは一意識別子であり、イメージとビデオはintを使用します。私はそのコメントからその親への外部キー関係を持ちたいと思っています。

これにはどのようなベストプラクティスが考えられますか?

答えて

1

コメントを許可するセクションごとに1つずつ、結合テーブルを使用します。次に、コメントテーブルに必要なキーを使用します。結合テーブルには、セクションテーブルとコメントテーブルの識別子が必要です。

user_profiles 
    id uniqueidentifier 
    ... 

    comments 
    id int 
    ... 

    user_profile_comments 
    profile_id uniqueidentifier 
    comment_id int 
1

ここでのベストプラクティスに関する議論があります。私の意見は、すべての代理IDを使用することです。それが必要かどうかにかかわらず、ユーザープロファイル用に使用することもできます。次に、関連するエンティティを接続するための1つの「パターン」を扱うだけです。これにより、必要に応じて多くの定型コードを自動化できます。 を入力してもが自動化されていても、書き易くなり、エラーが発生しにくくなります。

関連する問題