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

标签 mysql sql database database-design

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

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

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

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

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

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

与大多数 RPG 游戏一样,每个玩家都有自己的元素栏,他们可以在其中存放元素并采取后续行动。

最佳答案

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

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

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

关于MySQL - 为一个简单的游戏设计数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18162120/

相关文章:

mysql - 如何将 ADO.NET DbProviderFactory 与 MySQL 一起使用?

sql - 在coalesce中使用select设置变量

sql - 导入 Excel 电子表格时 MS Access 2013 类型转换失败

mysql - 在 MySQL 中,跟踪表中更改(添加列)的时间戳的最佳方法是什么?

sql - 如何在 Oracle RDBMS 中通过掩码删除用户

mysql - 尽管在范围内,Sql 条目还是消失并出现

php - 我如何知道 insert .. select 是否确实插入了任何行?

php - MySQL中的SET可以单独使用吗?

php - mysql_fetch_array 和 mysql_num_rows 中的全局问题

r - 将第 1-12 周改为第 1 季度