下图是我目前所拥有的。
该设计
发射器表
发射器有自己的属性,例如位置(以 x 和 y 表示)、id、级别以及上次更新此信息的时间。更重要的是,任何氏族成员都可以保护发射器。发射器只能由该氏族的成员保卫。一个发射器可以被许多玩家防守。
球员表
或者更确切地说,氏族成员。此表包含有关球员的具体信息。这也有关于 x 和 y 的位置以及关于该玩家的其他信息。(我可能也会在这里添加 lastupdated)一个玩家可以防御多个发射器。
Emitter_Player 连接表
该表包含一个单一的emitter_player 组合。(假设存在这样的关系)让我先问一下这是否是发射器和玩家之间的适当关系?我认为这将是多对多的。现在,我可以让这一切变得简单,只需在这个连接表中添加防御点(我真正关心的是玩家在特定发射器中的“防御”程度)这也是正确的做法吗?但是,我想“第一次做对”,并添加有关玩家防御此发射器的每个特定单位的信息。
单位表
此表包含有关游戏中所有单位的信息。此表具有单位 ID 及其相关的防御和进攻值。这个表格很少会被插入,当它被插入时(新单位被添加到游戏中)它会被手动更新。
问题
修复设计
发射器不包含玩家之外的单位。玩家必须是发射器中每个单位的所有者。因此,发射器和单位之间没有关系。此外,虽然玩家可能在发射器之外有单位,但我不关心这个例子。我只关心发射器中的单元。所以,我认为 Emitter_Player 连接表和 Units 表之间会有多对多的关系。我的理由是,一个 Emitter_Player 组合可以很容易地拥有许多不同类型的单位,而一种类型的单位可以是许多不同的 Emitter_Player 组合。
插入信息
有了两个连接表,我现在对如何将信息插入这个数据库感到非常困惑。
查询信息
同样,我非常迷茫如何从这个数据库中访问信息。
目标
图表
我想最终创建图表(来自玩家和发射器)显示他们随时间的进步。我将如何查询这个我不知道。
每周变化
我希望能够告知玩家自上周以来他们是否取得了进步或失去了进步。(在这种情况下,标记它们以供审查)
结论
我试图尽可能详细地说明这一点,如果您需要更多信息,请告诉我。我希望尽快完成这项工作,我真的完全失去了任何进一步的想法。