如何设置包含对其他表的引用的行的MySQL表

时间:2014-04-07 23:59:58

标签: php mysql database

我正在制作一个用户可以注册,有库存并且在该库存中有武器的游戏。我想将这些信息存储在我的数据库中。

到目前为止,我的设置方式如下:

  • 我的用户表包含UserID列(以及其他信息)。

  • 我的广告资源表包含一个InventoryID列和一个UserID列 (UserID对应于库存的所有者)

  • My Weapons表包含一个引用该列的InventoryID列 它属于的库存。

这是标准的做事方式吗?我可以更改布局并使其更简单吗?使用像这样的数据库似乎有点乏味。

如果我的User表具有对库存条目的引用并且该条目具有一系列武器,那将会容易得多。我通过存储每个条目的ID的引用来实现这一点,但我不能只创建一个" User" php类(通过对数据库运行一个查询,引用了一个Inventory对象,它有一个Weapon对象数组)。

也许有一个框架来实现这个目标?

2 个答案:

答案 0 :(得分:1)

你所描述的是简单的一对多关系。

您不需要库存表。

您需要一个以userID为主键的用户表,并将其用作武器表中的外键。

借助联接您可以使用一个查询来获取所有记录。

答案 1 :(得分:0)

您是否考虑过NoSQL数据库? :)

关系数据库通常需要您所描述的“连接”表。如果用户库存为1:1而且1件武器只能属于1个库存/用户,那么你可以在没有连接表的情况下实现这一点 - 只需要武器存储用户ID。