我正在尝试确定我的数据库的最佳组织。我有一个 users 表,其中每个人的current_game
. (每个用户在任何给定时间只能属于一个游戏。)有一个游戏表,其中每个特定游戏都有一个唯一的 ID。
我可以通过这种方式很好地执行我的所有查询/操作。但是,我想维护每个用户之前游戏的记录,以便他们可以访问他们的历史数据和统计数据。
由于游戏只能持续这么长时间——比如说几周——而且并非所有用户都会一直积极参与游戏,所以这是我正在考虑的模式:
users
, users_inactive
, games
, games_old
, game_events
,game_events_old
我的担忧是 2:首先,两个用户表是否会在登录和注册时出现问题?其次,我是否必须membership
为每个用户-游戏关系维护一个包含一行的两列表(所以 8 个用户每个都参加过 5 个过去的游戏意味着表中有 40 行membership
),还是有更简单、更优雅的方法?