2017-05-09 28 views
1

は、私は、このような記事、製品、などなど、さまざまなエンティティへのコメントを許可する必要がありコメント:投稿のためのスキームとは

  1. つのポスト/製品/ ...多くのコメントを持つことができます。
  2. コメントのみ私は別のスキームのけれども

郵便/コメント/ ...に関連することができ、私は以下のスキームとテーブルを思い付いたワン:

1.各エンティティが持っています独自のコメントテーブル:

Posts (PostId), PostsComments (CommentId, PostId, CommentText) 
    Products (ProductId), ProductComents (CommentId, ProductId, CommentText) 

以上のエンティティは、コメントが必要な場合には複数のテーブルを必要とするという欠点があります。

2(多対多)のすべてのエンティティのための一つのコメントテーブル:

​​

以上のエンティティは、コメントが必要な場合には複数のテーブルを必要とするという欠点があります。将来的には

Posts (PostId, ForumId) 
    Products (ProductId, ForumId) 
    Forums (ForumId) 
    Comments (CommentId, ForumId, CommentText) 

私はコメントを別のエンティティが必要な場合、私はちょうどそれにForumId FKを追加します。コメントを集約

3. ...多くの関係に多くの一つフォーラムテーブルのほかに。

各アプローチについてどう思いますか?あなたはより良いものを持っていますか?

答えて

0

どのようにこれは約1:

コメントテーブルは、ポストや製品についての情報を持っていますし、両方のかもしれません。

コメント(CommentId、PostId、のProductId、CommentText)

+0

その後、私は...他のテーブル内のコメントだけでなく、投稿や製品を持っている必要がありますので、私はコメントテーブルに、より多くのFKSを追加する必要があります。 –

関連する問題