将ER模型映射到关系模型

时间:2016-09-12 06:18:41

标签: entity-relationship relational-model

我正在浏览此网站以了解ER到关系模型映射。 以下是链接:

ER Model to Relational model

考虑案例1:它说由于护照实体类型完全参与,我们可以将人员和护照表以及has关系合并到一个表中,其中上述三个和主键的所有属性都为Person_id。 / p>

我怀疑的是,对于那些没有护照的人来说,不会导致很多NULL值。我认为更好的解决方案是将Person_id作为Passport关系中的外键和Person实体类型本身的单独关系。

两种解决方案似乎都有其优点和缺点:

1)一个大表意味着可能有很多NULL值,但很容易获得一个人的护照详情。

2)两个单独的表意味着没有NULL值,但要查找人员的护照详细信息,我们必须执行连接操作或搜索两个单独的表。

这两种解决方案中哪一项是正确的?如果正确的话,我的意思是在这种情况下通常会使用哪种解决方案?

1 个答案:

答案 0 :(得分:0)

两种解决方案都是常用的。如果没有其他信息取决于护照号码,我只考虑选项1,但在这种情况下,我将其建模为ER中的(可选)属性,而不是单独的实体。如果护照具有任何依赖属性,例如原产国或有效期,我会将其建模为单独的实体,并使用选项2实施。