背景故事
在我提出这个问题之前的一个小故事。
问题
我的问题如下:
最有效的表格结构是什么?
感谢您阅读本文及所提供的任何建议。
答案 0 :(得分:1)
您应该拥有用户,游戏,成就和user_achievements表。成就表中的每个条目都可以链接到游戏ID。当用户获得某个成就时,您可以在user_achievements表中添加user_id和achievement_id的条目。如果没有该用户和成就的条目,这意味着他们没有实现它。
答案 1 :(得分:0)
您可以创建多个表格来表示系统各自的各个部分。实施例。
Table 'Users':
id
username
password
usesgames
Table 'Games':
id
gamename
gamedescription
Table 'Achievements':
id
gameid
userid
achievement
points
现在,您可以创建尽可能多的用户,而不会干扰成就,反之亦然。 想象一下,你创造了两个游戏。帝国时代和帝国时代II。这些将使用
在数据库中创建1 Age of Empires - A fun strategy game
2 Age of Empires II - Version two of a fun strategy game
让我们说,那个用户“BoomBlaster”拥有这两个游戏,你可以在用户“usesgames”tabel行中制作一个逗号分隔列表,就像这样
1,2
想象您使用PHP,您可以使用explode();
函数分隔它们
$games = "1,2";
$gamesarray = explode(",",$games);
然而,对此,您现在可以连接用户和游戏toghetter以获取数据库表“成就”中的成就通过说
SElECT * FROM Achievements WHERE gameid = $gameid AND userid = $userid;
我希望你看到我的观点。 最好的祝福。 纳斯