【发布时间】:2017-03-16 08:46:15
【问题描述】:
让我们假设以下场景:
- 一个人可以有一个或多个地址:(1..*)。
- 一个地址与 1 个人相关联:(1..1)。
- 一个人有家庭地址和工作地址
我们还假设我们有一个双向关联(idk 如何在电源设计器中做到这一点,请原谅下图)
人员表:id(pk),firstName,lastName
地址表:id(pk), streetName,locationNumber,city,country,id_Person(FK)。
我应该在这个结构中添加什么来正确实现我的表的 work@,home@ 关联。
【问题讨论】:
-
两种明显的情况是可能的:要么我将 isHome,isWork 列添加到地址表,要么我使用两个单独的表,一个存储家庭地址,另一个存储工作地址。我想知道哪个更好,有没有更好的方法来做到这一点?
-
一个人应该只有一份工作和一个家庭住址,还是可以有,例如,3 个家庭住址和零个工作地址?
-
一个人每个地址应该有1个或多个:3个家庭地址(代表他以前/现在的所有地址)+至少1个工作地址