我正在设计一个基于浏览器的简单游戏数据库。
为了解决我的问题,我们假设有两个表相互引用,如下所示
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游戏一样,每个玩家都有自己的库存,可以存储他们的物品并采取后续行动。
答案 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
您可以参考以上链接获取更多信息