如何在一个表的单列和另一个表的多行之间创建关系



我有两个表:PlayersCharacters。每个Player都有最大值。10 Character s。我正在寻找最好的方法来创建这些表之间的关系。我计划使用外键将Players中的characters列与Characters中的id连接起来,但我不知道我是否应该在Players中创建10列,如character1, character2, character3等。

我知道我可以创建列,它的值类型为integer[],但是关系呢?

我希望我的问题很清楚,因为我不知道怎样才能解释得更好。

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

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

相关内容

最新更新