Facebookのようなものを構築していて、データベースに写真、ビデオ、メモ、マップ、ユーザー、グループ、曲など、さまざまなエンティティがあるとします。ユーザーがこれらのエンティティのいずれかにコメントできるようにしたい場合、データベースでこれをどのようにモデル化する必要がありますか?
概念的には、コメント エンティティは他のエンティティの 1 つだけに関連付けられ、他のエンティティはゼロ、1 つ、または多数のコメントに関連付けられます。
私の傾向は、他のエンティティを親の「ContentType」エンティティのサブタイプにし、Comment をそれに関連付けて、制約を通じてコンテンツ タイプ間の相互に排他的な関係を強制することです。しかし、コンテンツ タイプ間に実際の関係がないため、少し奇妙に感じます。