私は以下を設計しましたが、それを設計するためのより簡単な方法を探しています(現在、ユーザーが興味を持っているサブカテゴリのリストを取得するときは、スポーツの種類ごとに異なるクエリを実行する必要があります):
ユーザーテーブルには、各ユーザーがスポーツカテゴリの数に関心があるユーザー情報があり、各カテゴリには異なるサブカテゴリがあり、ユーザーはカテゴリ(すべてのサブカテゴリ)または特定のカテゴリのいくつかのサブカテゴリに関心があります。
User UserID 12
Sport CategoryID Category 1 Aquatic, 2 Running
Aquatic SubCategoryID SubCategory,CategoryID 1 Swimming 1, 2 Surfing 2
Running SubCateogryID SubCategory,CategoryID 1 200m 2, 2 300m 2
LikeSport UserID CateogryID SubCategoryID 12 1 1, 12 2 nill
ID 12のユーザーは、アクアティックスポーツが好きですが、水泳だけで、あらゆる種類のランニングスポーツが好きです。