我对下面的ER图有疑问。
问题:如果有2个关系诞生并且从演员到实体居住。
它们是否都具有相同的外键,即place_no?那么这是否意味着我只是将外键放在Actors关系模型中,那就是它还是我必须为Born制作一个表?
因为一个演员出生在一个地方并且生活在一个地方......所以如何区分1 place_no FK?
答案 0 :(得分:0)
您必须指定关系的arity。您可以仅使用外键在关系模型中直接映射概念1:n
关系。对于n:m
关系,您应该使用联结表。
由于这里的关系似乎都是n:1
,因为一个人可以在一个地方出生并且(基于你的评论)我们也可以假设一个人当时只能住在一个地方我们可以将这些关系映射为外键。
作为SQL中的一个示例(假设我们有两个关系actor
和place
,代码是CREATE
代码actor
):
[...]
born int REFERENCES place(place_no),
lives int REFERENCES place(place_no),
[...]