データベースの最適な構成を決定しようとしています。各個人の列を持つusersテーブルがありますcurrent_game
。(各ユーザーは、常に1つのゲームにのみ属することができます。)特定の各ゲームが一意のIDを持つゲームテーブルがあります。
この方法で、すべてのクエリ/操作を問題なく実行できます。ただし、各ユーザーが過去のゲームの記録を保持して、ユーザーが履歴データと統計にアクセスできるようにしたいと思います。
ゲームは非常に長い間(たとえば、数週間)しか持続せず、すべてのユーザーが常にゲームに積極的に関与するわけではないため、これは私が検討していたスキーマです。
users
、、、、、、users_inactive
_ games
_ games_old
_ game_events
_game_events_old
私の懸念は2です。まず、2つのユーザーテーブルがログインと登録で問題になるのでしょうか。membership
次に、ユーザーとゲームの関係ごとに1行の2列のテーブルを維持する必要がありますか(つまり、過去5回のゲームに参加した8人のユーザーは、membership
テーブルに40行あることを意味します)、またはよりシンプルでエレガントな方法がありますか?