2

我有两张桌子:PlayersCharacters。每个人都Player可以拥有最大值。10Character秒。我正在寻找在这些表之间创建关系的最佳方法。我打算使用外键将列charactersPlayersfromid连接Characters,但我不知道是否应该为每个角色创建 10 列Playerslike character1character2、等?character3

我知道我可以创建具有 type 值的列integer[],但是关系呢?

我希望我的问题很清楚,因为我不知道如何更好地解释它。

4

2 回答 2

3

您绝对应该创建两张表,一张用于玩家,一张用于角色。Players 表将使用单独的 player_id 列或 player_name 列作为主键。如果您选择使用单独的 player_id 列,请确保将 player_name 设置为唯一。Characters 表将有一个 character_id 列、一个 player_id 或一个 player_name 列(取决于 Players 的结构),这是对 Players 表的外键引用,最后是一个 character_name 列。每个字符现在将在字符表中代表它自己的行。

于 2013-03-18T11:30:25.343 回答
3

您的外键应该在字符表上 - 引用 player_id。没有办法在约束中将其限制为 10 - 您必须为此编写代码或在对 createCharacter 的过程调用中进行检查,该过程调用将为您执行检查。

于 2013-03-18T11:31:37.397 回答