所以我有一个类似战争的游戏,有三个表:用户,玩家和游戏。
我有以下关系:
因此,为了找到特定用户所在的游戏,更好的做法是:
(我正在使用SQLAlchemy和SQLite和Flask,但我认为这对这个问题不重要。)
attached image可以更好地解释一下:我应该在用户和游戏之间建立任何数据库连接吗?
我很乐意澄清任何事情,并感谢任何可能的帮助!很抱歉,如果这对StackOverflow来说是一个糟糕的问题。
答案 0 :(得分:1)
当存在多对多关系时,比如gameUsers,一个常见的实现是创建一个中间表,包含每个表的id,在这种情况下是user_id的列表,game_id对表示每个用户的哪些游戏是在。
但是......你已经有了这样一张桌子,玩家桌子。所以我的方法是将播放器表视为该分辨率表。播放器表已经包含了每个用户所在的游戏,因此不需要第二个多对多游戏。