构建该数据库的技巧

时间:2018-07-13 20:30:28

标签: mysql database structure

我想为我为Minecraft制作的插件建立数据库。 我一直在努力寻找构造此问题的最佳方法,但我失败了很多次,有人可以给我一些提示吗?

这个想法是: 将有一个active_shops表=>该表代表各个商店,保存有关每个商店的信息。

我需要一个名为player_shops的表=>该表将具有AI ID,并存储诸如会员和商店名称之类的信息。

问题出在这里, 在添加active shop时,我需要将player_shops中的ID作为辅助密钥。

但是没有player shop的玩家也可以制作active shop,因此除了该ID外,我还需要存储玩家的UUID,它是一个字符串。

请帮助解决这个问题。

1 个答案:

答案 0 :(得分:1)

所提供的信息很少,因此可能不适用于您的情况,但是...

您的原始数据库结构如下:

enter image description here

除了您指出的问题之外,您将无法规范化此结构。

我提议像这样的东西:

enter image description here

  • 商店-玩家关系是商店的“所有者”。
  • 会员链接表用于链接商店的玩家会员。
  • 由于我不知道活跃商店和玩家商店之间的区别,因此我将该特征隔离到ShopType表中,允许您选择一个或另一个。
  • 这样做可以使玩家拥有自己想要的任何类型的商店。商店就是商店,根据您的描述,我不明白为什么您需要为2种商店类型拥有2张桌子。商店是活动类型或播放器类型的商店。
  • 这还不完整,请为每个表添加不同的缺失字段,这仅说明了结构。

另一种可能性是,如果您需要一家商店成为1)玩家2)活跃3)两者兼而有之。然后应该像下面这样修改shop表:

enter image description here

  • 类型概念已删除,布尔属性定义了商店的类型。

这显然是一个正在进行的工作,希望它能帮助您开始以另一种方式考虑解决方案。