私はMySQL(およびデータベース全体)にかなり慣れていないため、このようなデータを保存するための最良の方法がわかりません。
スポーツイベントの統計データを保存したいので、アイスホッケーから始めます。各プレイヤーにはキャリア統計がありますが、各ゲームのボックススコアもあります (各ゲームの最後にプレイヤーにゲームシートを提供したいと考えています)。
関係するチーム、日付、および各イベントのゲーム ID を含むスケジュール テーブルがあります。また、ID をプレーヤー ID にリンクするプレーヤー テーブルもあります。
私がこれまでに考えてきた2つのアプローチは次のとおりです。
ストアド プロシージャを使用して、スケジュール上のすべてのゲームのテーブルを作成し、そのテーブル内にすべてのプレーヤー ID とその特定のゲームの統計を格納します。スコアリング プレイが発生すると、現在のゲーム テーブルのテーブル データとそのプレーヤーのキャリア統計テーブルが変更されます。
それとも、単一の「ゲーム スコア」テーブルを作成し、gameid と playerid を参照として使用して、すべての得点プレー (ゴール、ペナルティなど) をそのテーブルに記録する方がよいでしょうか?
最初のアプローチは、1 シーズンに 100 試合を予定している場合、すぐに混乱する可能性があります (個々のゲームの統計はシーズン終了時に削除され、長期的な統計は保持されます)。
2 番目のアプローチでは、非常に長いテーブルがすぐに作成される可能性があり、テーブルが大きくなり続けるにつれてクエリが遅くなる可能性があります。
私は2番目のアプローチに傾いていますが、可能であれば何らかの意見を聞きたいです。あるいは、私はこれに対して完全に間違ったアプローチを取っているので、誰かに正しい道を教えてもらいたいと思っています. どんな助けでも大歓迎です。