为浏览器游戏建模数据库

Elo*_*fin 2 php mysql database-design symfony1

我正在研究用symfony为学校项目开发的浏览器游戏.

在我的架构中,我有一个表格播放器和一个表格清单(包含不同的项目),一对一的关系.

我不确定如何构建表库存.反思后,我发现有两种方法可以做到这一点:

1.

TABLE inventory
  id
  id_player
  item1
  item2
  item3
  ...
Run Code Online (Sandbox Code Playgroud)

但是如果我想在游戏中添加一个项目,我必须在我的表中添加一个列,如果有很多项目,我会有很多列.

2.

TABLE inventory
  id
  id_player
  item
  quantity
Run Code Online (Sandbox Code Playgroud)

我认为这种方式更好,但记录数量会迅速增加,因为我按项目逐行排列.

还有其他更有效的方法吗?如果不是,两者中哪个更好?

Dan*_*rov 6

第二种方法应该没问题,只要id_player上有索引即可.我不担心它的空间使用情况.如果每行占用25个字节,并且每个玩家有400种类型的项目,并且您有100万用户,那么这仍然只有10个演出.