我目前的结构有一个帐户表格,以及与帐户相关的字符" ID"领域。这些角色也有自己唯一的ID,我将在guilds表中使用它;然而,我意识到我无法找到处理它的最佳方法。
我应该创建一个TEXT字段并使用分隔符存储字符ID吗?这看起来很奇怪,因为每个角色都会在公会中拥有自己的等级等等。但是,当玩家加入公会时,似乎使用了你想要存储的逻辑,他的等级是公会,或任何其他信息,每个公会都需要它自己的桌子。
这个的正确结构是什么?我应该有一个" Guilds"桌子,或者"公会"数据库,其中包含每个公会的表格。
你们会推荐什么,我对数据库不是很好,但我想在我的爱好者项目中添加一个公会类型系统。
答案 0 :(得分:3)
我相信你应该有这些表格:
ranks(id, name, lower_rank_id, higher_rank_id, description)
guilds(id, name, gold_amount)
characters(id, name)
memberships(id, character_id, guild_id, rank_id, description)
您拥有ranks
表中的所有排名,guilds
表中的所有公会,characters
表中的一些字符和memberships
表将它们全部链接到外键。
答案 1 :(得分:0)
您所描述的问题非常简单 - 至少如果层次结构只涉及:
一个或多个角色是零或多个公会的成员。
如果公会在某种程度上是大公会的一部分(即木工协会的成员是工匠公会的事实成员),事情会变得稍微复杂一些。
这是一个指向simple hierarchy structure in mySQL的指针(只需用带有公会的角色和部门替换员工,你应该没问题) - 请注意,这也有一些有趣的额外功能,如Guildmasters,属于多个的可能性公会,并随着时间的推移改变公会或头衔/等级 - 如果你不关心那些,你可以安全地放下一些额外的桌子......