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

Php 如何设置包含引用其他表的行的MySQL表,php,mysql,database,Php,Mysql,Database,我正在做一个游戏,用户可以注册,有一个库存,并在该库存武器。我想将此信息存储在我的数据库中 以下是我到目前为止的设置方式: 我的用户表包含一个UserID列(以及其他信息) 我的库存表包含一个InventoryID列和一个UserID列 (UserID对应于库存的所有者) 我的武器表包含一个InventoryID列,该列引用 它所属的目录 这是做事情的标准方式吗?我可以改变我的布局,使它更简单吗?这样处理数据库似乎有点乏味 如果我的用户表有一个对库存条目的引用,并且该条目有一个武器数组,那就

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

以下是我到目前为止的设置方式:

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

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

  • 我的武器表包含一个InventoryID列,该列引用 它所属的目录

这是做事情的标准方式吗?我可以改变我的布局,使它更简单吗?这样处理数据库似乎有点乏味

如果我的用户表有一个对库存条目的引用,并且该条目有一个武器数组,那就容易多了。我通过存储对每个条目ID的引用实现了这一点,但我不能仅仅通过对数据库运行一个查询来创建一个“用户”php类(它有一个对库存对象的引用,它有一个武器对象数组)


也许有一个框架可以实现这一点?

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

您不需要库存表

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


在连接的帮助下,您可以使用一个查询来获取所有记录

您考虑过NoSQL数据库吗?:)


正如您所描述的,关系数据库通常需要“连接”表。如果用户与库存的比例为1:1,并且1件武器只能属于1件库存/用户,那么您可能不需要连接表就可以完成这一任务,只要让武器存储一个用户ID即可。

您将拥有一个武器表,一个库存表,一个表格记录了哪种武器属于哪种库存用户可以有多个库存吗?不,一个用户只有一个库存,一个库存有很多武器这很好。这是一款基于网络的游戏@Prodingga吗?隐马尔可夫模型。。如果用户和库存是一对一的关系,将库存id放入用户表中,那么武器表仍然包含其中的内容。你说呢?你可以说Gustek bellow的观点很好。不幸的是,我不熟悉NoSQL。有什么不同吗?有没有一个框架可以为我把数据打包成一个类?(即:我会询问具有特定ID的用户,它会弹出一个包含该用户拥有的一系列武器的用户类)?你可以使用条令或推进。我很高兴你回答了这个问题,我不知道实际搜索什么。看起来棒极了!