将ER模型映射到关系模型



我浏览这个站点是为了理解ER到关系模型的映射。下面是链接:

ER模型到关系模型

考虑案例1:它说,由于护照实体类型是total participation,我们可以将person和passport表以及has关系合并为一个表,其中包含上述三个表的所有属性,主键为Person_id。

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

这两种解决方案似乎各有利弊:

1)一个大表意味着可能有很多NULL值,但可以方便地访问一个人的护照详细信息。

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

这两个答案哪个是正确的?所谓正确,我的意思是问,在这种情况下,通常使用哪种解决方案?

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

最新更新