我制作一个简单的得分保持系统,每个用户都可以拥有许多不同游戏的统计数据 但我不知道每个用户是否应该拥有自己的分数表,或者有一个包含user_id列的所有分数的大表
多个表:
表名:[用户ID] _score
game_id | high_score | last_score | AVERAGE_SCORE
单人表:
user_id | game_id | high_score | last_score | AVERAGE_SCORE
答案 0 :(得分:4)
肯定有一个表,其中userID作为其中一个字段。处理这样的多个表将是非常困难的(并且不必要地如此)。
您可能希望至少有一个索引包含userId字段,以便查询可以快速找到每个userId的记录。
答案 1 :(得分:2)
使用单个表格和user_id
和game_id
周围的复合主键。您可能还想在game_id
周围创建一个补充索引,以便快速查找游戏的高分。 (如果user_id
也不是标准的一部分,那么复合键是不够的。)
使用每用户一个表的方法会导致一些LART。
答案 2 :(得分:0)
确保一张表中包含所有user_id的表。通常,您希望远离任何涉及在表名中生成数据(userID)的解决方案(有例外,但它们很少见。)
答案 3 :(得分:0)
你可能想要:
用户表user_info [],user_id
游戏桌game_info [],game_id
user_game_join表,其中包含user_id,game_id,score,insertdate
通过这种方式,你可以通过游戏,用户,游戏和游戏获得所有数据。用户,平均值和什么或其他什么。
始终可扩展地构建。您永远不知道何时需要优化代码并重做数据库是一个真正的PITA,如果你没有把它作为我们的权利开始。