2015-02-08 124 views
0

我对下面的ER图有疑问。将ER图翻译为关系模型

ER Diagram 问题:如果从演员到地点实体出生和生活有2个关系。

它们是否都具有相同的外键是place_no?那么这是否意味着我只是将外键放在Actors关系模型中?就是这样,还是必须为Born创建一个表?

因为演员出生在一个地方,生活在一个地方...所以如何区分1 place_no FK?

+0

显然有两个实体(演员<>地点)之间的两个关系,所以在其中一个表中,您必须使用两个不同的外键,这些外键恰好引用了另一个表中的相同属性。 – lared 2015-02-08 22:59:35

+0

这样一个名为Lives的Actor和一个名为Born的外键? – geforce 2015-02-08 23:07:30

+0

或者我是否为每个关系创建一个表格,例如生命的关系已经place_no FK和生活FK,a_no FK ...生生的关系有place_fk a_no FK和Born FK? – geforce 2015-02-08 23:08:58

回答

0

您必须指定关系的秩序。您只需使用外键即可将关系模型中的概念1:n关系直接映射到关系模型中。对于n:m关系,您应该使用联结表。

由于这里的关系似乎都是n:1,因为一个人可能只出生在一个地方,并且(根据您的意见),我们还可以假设一个人只能在我们可以映射的时间居住在一个地方这些关系作为外键。

如SQL的示例(假设我们有两个关系actorplace,该代码是在CREATE代码的actor):

[...] 
born int REFERENCES place(place_no), 
lives int REFERENCES place(place_no), 
[...] 
+0

嘿,我还有另一个关于ER图中其他两个实体的问题...我想再发一个帖子,但是我不能,因为我必须等待90分钟。如果我上传它可以帮助我吗? – geforce 2015-02-08 23:33:10

+0

当然,将它发布在评论中,你可以稍后复制它。 – lared 2015-02-08 23:33:44

+0

(我编辑了帖子中的网址来显示整个ERD) 问题1:如果一个演员是一个戏剧家,那么这是否意味着我将dramatist_no FK存储在Actor关系表中或将a_no PK存放在Dramatist表中? (或两者) – geforce 2015-02-08 23:35:30