DBに関するa0kenのブックマーク (1)

  • 複数のテーブルに対して多対一で紐づくテーブルの設計アプローチ|スパイスファクトリー株式会社

    今回は、あまり見かけないようで意外と必要になる「複数のテーブルに対して多対一で紐づくテーブル」の設計について、4つのアプローチをご紹介します。 どのようなケース?あるテーブルが複数のテーブルのいずれかに対して、自身が多、紐付き先が一で関連する場合のテーブル設計です。 例えば、「記事」と「画像」を投稿できるようなSNSを想定します。 この時、閲覧者が投稿された「記事」と「画像」のどちらにも「コメント」をつけることができる機能があったとします。 このような場合に、どのようなテーブルの設計方法があるのか、以下から説明していきます。 1.ポリモーフィック関連SQLアンチパターンにも登場するこの設計方法。「どのテーブルのどのレコード(id)に紐づくのか」という情報をテーブルに持たせてしまうという方法です。具体的には以下のような設計になります。 comments.target_tableに関連する対象

    複数のテーブルに対して多対一で紐づくテーブルの設計アプローチ|スパイスファクトリー株式会社
  • 1