我有两个表:Players
和Characters
。每个Player
都可以有最大值。 10 Character
s。我正在寻找创建这些表之间关系的最佳方法。我打算使用外键将characters
中的列Players
与来自id
的{{1}}相关联,但我不知道是否应该在{{1}中创建10列每个角色都喜欢Characters
,Players
,character1
等等?
我知道我可以创建具有character2
类型值的列,但那么关系呢?
我希望我的问题很清楚,因为我不知道如何更好地解释它。
答案 0 :(得分:3)
你绝对应该创建两个表,一个用于玩家,一个用于角色。 Players表将使用单独的player_id列或player_name列作为主键。如果您选择单独的player_id列,请确保将player_name设置为唯一。 Characters表将包含character_id列,player_id或player_name列(取决于玩家的结构),这是对Players表的外键引用,最后是character_name列。现在,每个字符将在Characters表中表示自己的行。
答案 1 :(得分:3)
你的外键应该在字符表上 - 引用player_id。在约束中无法将此值限制为10 - 您必须使用任一代码来执行对createCharacter的过程调用中的检查,这将对您执行检查。