MySQL を使用して、ユーザーのテーブル、試合のテーブル (実際の結果で更新)、users_picks というテーブルがあります (現在、リーグは 1 つしかないため、最初は常に、ゲームウィークごとにリーグごとに 10 試合になります。しかし最終的にはさらに多くのリーグが登場し、そのうちのいくつかはゲームウィークあたり 8 試合しかありません)。
users_picks テーブルでは、各「ピック」(ピックとは「ホームチームのスコア」と「アウェイチームのスコア」の両方を意味します) を別の行に格納する必要がありますか、それとも 10 個すべてのピックを 1 つの行に格納する必要がありますか? user と gameweek の両方に FK があります。すべてのピックが 1 つの行にあるということは、次のような数字が追加された列があることを意味します。
Option 1: [pick_id, user_id, league_id, gameweek_id, match1_hometeam_score, match1_awayteam_score, match2_hometeam_score, match2_awayteam_score ... etc]
そして、そのオプションは私を喜びで満たすわけではなく、少しばかげているように見えます. 特に、データベースには多くの潜在的な NULL が存在するためです。2 番目のオプションは、最終的に数百万行を意味します。しかし、次のようになります。
Option 2: [pick_id, user_id, league_id, gameweek_id, match_id, hometeam_score, awayteam_score]
ベストプラクティスは何ですか? そして、2 番目のオプションを使用してあらゆる種類の統計を行うのは PITA でしょうか? 例えば。ユーザーが特定のラウンドで正確にヒットした試合の数、通算で正確なヒット数などを計算します。
あまり意味がわからない場合は、何でも詳しく説明しようとします。テーブルのデザインが最初からうまくいきたくないので、数か月で大きな頭痛の種になることはありません.
前もって感謝します。