0

私の質問を例で説明したほうがいいでしょう。サンプルテーブル(InnoDB)は次のとおりです。

-投稿

  • id
  • タイトル
  • title_slug
  • コンテンツ

-タグ

  • id
  • 名前
  • name_slug

--post_tag_relation

  • postID
  • tagID

タグを使用して単純な投稿システムを作成していて、どの投稿にどのタグが付いているかをpost_tag_relationに挿入するとします。postIDとtagIDはそれらのテーブルから参照されます。これが私の質問です。post_tag_relationでid(主キー)を指定する必要がありますか、それともそれを作成するためのより良い方法がありますか?post_tag_relationテーブルを作成するために何を提案しますか?

4

1 に答える 1

1

post_tag_relationテーブルに個別のIDフィールドを指定する必要はありません。postIDとtagIDの組み合わせは一意である必要があり、複合キーを形成できます。投稿テーブルとタグテーブルは多対多の関係を形成し、ジャンクションテーブル(post_tag_relationテーブルなど)を使用してそれらを関連付けます。タグと投稿の関係に関する追加情報(タグが投稿に関連付けられた時期を示すタイムスタンプなど)を保存したくない場合、post_tag_relationテーブルに必要なフィールドは投稿の外部キーのみです。およびタグテーブル(つまり、postIDおよびtagID)。

于 2012-08-31T17:16:12.207 に答える