我正在浏览这个站点以了解 ER 到关系模型的映射。以下是链接:
考虑案例1:它说由于护照实体类型是完全参与的,我们可以将person和passport表以及has关系合并到一个表中,其中上述三个的所有属性和主键为Person_id。
我的疑问是,对于那些没有护照的人来说,这不会导致很多 NULL 值。我在想一个更好的解决方案是将 Person_id 作为外键包含在 Passport 关系中,并为 Person 实体类型本身包含一个单独的关系。
这两种解决方案似乎都有其优点和缺点:
1) 一张大表意味着可能有很多 NULL 值,但可以轻松访问一个人的护照详细信息。
2)两个单独的表意味着没有NULL值但是要找到人的护照详细信息,我们必须执行连接操作或通过两个单独的表进行搜索。
这两种解决方案哪个是正确的?正确地说,我的意思是在这种情况下,在通常的实践中,使用哪种解决方案?