我正在创建简单的网络浏览器游戏。我已经注册并登录表单了。我有一个包含用户信息的数据库和表: 用户身份 用户名 USEREMAIL 为userpass
我需要额外的数据 - 资源。我必须创建新的表资源,我想将这两个信息连接到1个用户(1 userId)。我的想法是创建新的表资源: userId(必须与用户表中的相同) 木 铁 石
这个问题的解决方案是什么?请帮帮我。
答案 0 :(得分:0)
请记住,数据库设计选择通常基于您想要执行的查询类型,我认为您有两种选择。
第一个选项是遵循您描述的路径,这意味着resources
表中每种资源类型都有一列
resources
user_id (fk for id of user) | wood_amount | iron_amount | stone_amount
这是最简单的设计,但如果明天要添加其他类型的资源,您将被迫添加一列。然后另一个。然后另一个。然后另一个。
另一个选择是将users
和resources
之间的关系设计为标准many-to-many
关系,这意味着您将有三个表
user
the one you already have
resource
resource_id | resource_desc
user_resources
user_id (fk to id of user) | resource_id (fk to id of resource | amount
这样查询数据库中的用户资源可能需要和额外的连接,但添加新类型的资源只是插入resource
表。