0

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

为了隔离我的问题,我们假设有 2 个表相互引用,如下所示

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

问题在于inventory用于存储多个表i_idItem列。首先,我不知道让它在单个列中保存多个 id 值是否是一个好的设计实践。另一种方法是分成 3 个表作为

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

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

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

4

2 回答 2

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

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

inventory
------------
p_id
i_id
于 2013-08-10T13:00:44.117 回答
1

兰迪是对的

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

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

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

您可以参考上面的链接了解更多信息

于 2013-08-10T15:37:58.923 回答