【发布时间】:2020-01-20 15:10:47
【问题描述】:
我正在为游戏服务器设置数据库,并且我是数据库新手,我遇到了一个问题,我必须将 多个玩家 插入 同一列,基本上我有一个组,在那个组中我需要插入多个玩家,所以我现在有这些列:
Group Name:
Group Owner:
Players:
Creation Date:
如何将多个玩家添加到一个组中?我是否需要将 所有这些 插入 同一列 并在 Java 中使用 String.split() ? 或者有没有更好的方法来做到这一点?
【问题讨论】:
-
您不想在数据库中插入序列化数据。这违背了使用 RDBMS 的目的。想想DB Normalization
-
您可以有另一个
Player表(或Person表中的某些特定“角色”以表明他们是玩家),然后有一个BIG INTs 数组在您的 Players 列中(以指示这些玩家的玩家 ID),或者为PlayerGroupMappings设置 另一个 表,其中详细说明了 GroupID 和 PlayerID(并且存在条目表明那里存在映射)。 -
@Cid 根据我对 DB 规范化的理解,基本上是多了一张表,里面有 2 个东西——你需要的值和一个数字,这个数字是你原始表的 PK,所以就像我该如何解决这个问题基本上是有另一个表,里面有玩家姓名/标识符,还有另一个列,指定他们与哪个组相关?
-
@Coper 请阅读Ashley's answer