我正在研究用symfony为学校项目开发的浏览器游戏。
在我的架构中,我有一个表格播放器和一个表格清单(包含不同的项目),并且一对一关系。
我不确定如何构建表库存。在反思之后,我找到了两种方法:
1
TABLE inventory
id
id_player
item1
item2
item3
...
但如果我想在游戏中添加一个项目,我必须在我的表格中添加一个列,如果有很多项目,我会有很多列。
2
TABLE inventory
id
id_player
item
quantity
我认为这种方式更好,但记录数量会迅速增加,因为我逐个玩具一行。
还有其他更有效的方法吗?如果不是,那两者中哪个更好?
答案 0 :(得分:6)
第二种方法应该没问题,只要id_player上有索引即可。我不担心它的空间使用情况。如果每行占用25个字节,并且每个玩家有400种类型的项目,并且你有100万用户,那仍然只有10个演出。
答案 1 :(得分:4)
要完成上述答案,您可以添加包含商品的表格,然后只需将商品列更改为 id_item 。
TABLE player
id
player_name
... player characteristics ...
TABLE inventory
id
id_player
id_item
quantity
TABLE item
id
item_name
... item characteristics ...