MySQL - 为简单游戏设计数据库

时间:2013-08-10 12:58:25

标签: mysql sql database database-design

我正在设计一个基于浏览器的简单游戏数据库。

为了解决我的问题,我们假设有两个表相互引用,如下所示

Player ( p_id, p_name, inventory(multiple i_id) )
Item ( i_id, i_name )

问题出在inventory列,用于存储多个i_id Item表。 首先,我不知道在单个列中保存多个id值是否是一个好的设计实践。另一种方法是将<3>分为

Player ( p_id, p_name )
Item ( i_id, i_name )
Inventory ( i_id )

现在,Inventory不再是一个列,所以现在可以容纳多个i_id但是, 如何将这组库存数据引用给一个独特的玩家?

与大多数RPG游戏一样,每个玩家都有自己的库存,可以存储他们的物品并采取后续行动。

2 个答案:

答案 0 :(得分:3)

player
-----------
p_id
name

item
-----------
i_id
name

inventory
------------
p_id
i_id

答案 1 :(得分:1)

兰迪是正确的

他所做的是称为标准化。 规范化用于减少冗余。

是的pid对于许多项目ID都是相同的,但是在这里你看到只有pId列重复而不是整个表格。

您可以在Google中搜索数据库中的更多信息规范化 或者这也是一个很好的链接 - http://www.studytonight.com/dbms/database-normalization.php

您可以参考以上链接获取更多信息