DB 記事とタグのテーブル設計

1つの記事に複数のタグが割り当てられ、1つのタグに複数の記事が割り当てられる場合に、データベースのテーブル設計はどうしたらよいのでしょうか。


解決策

解決策の一つとして、テーブルを3つにする方法があります。

  1. 記事テーブル
  2. タグテーブル
  3. 記事とタグの関連テーブル

各テーブルのカラム構成を見ていきます。


記事テーブル

カラム構成は、記事ID と 記事情報 になります。

  • 記事ID
  • タイトル
  • コンテンツ
  • など

タグテーブル

カラム構成は、タグID と タグ情報 になります。

  • タグID
  • タグ名
  • など

記事とタグの関連テーブル

カラム構成は、記事ID と タグID になります。

  • 記事ID
  • タグID

使い方1. 記事に割り当てられたタグを取得する

  1. 記事ID が 3 だとします。
  2. 記事とタグの関連テーブル から 、記事ID が 3 のタグID を抽出します。
  3. タグテーブルから、タグIDが一致するタグ情報を取得します。


使い方2. タグが割り当てられた記事を取得する

  1. タグID が 10 だとします。
  2. 記事とタグの関連テーブル から、タグID が 10 の記事ID を抽出します。
  3. 記事テーブルから、記事IDが一致する記事情報を取得します。