【发布时间】:2019-11-15 10:14:31
【问题描述】:
【问题讨论】:
标签: database entity-relationship ternary
【问题讨论】:
标签: database entity-relationship ternary
这告诉我们以下内容:
an employee + a project ---> a location
an employee + a location ---> a project
如果你有:
Joe + Project Zulu ---> Davenport
然后自动得到:
Joe + Davenport ---> Project Zulu
这意味着:
Joe + Project Zulu -///-> not davenport
Joe + Davenport -///-> not zulu
您可能还有:
Jen + Project Zulu ---> Davenport
Tom + Project Zulu ---> Davenport
这意味着:
Jen + Davenport ---> Project Zulu
Tom + Davenport ---> Project Zulu
再次,自动:
Jen + Project Zulu -///-> not Davenport
Tom + Project Zulu -///-> not Davenport
Jen + Davenport -///-> not Project Zulu
Tom + Davenport -///-> not Project Zulu
所以对于任何给定的员工来说,一个地点和一个项目本质上是一回事。
在员工的环境之外,没有任何东西可以将地点和项目联系起来。所以你也可以这样:
Moe + London ---> Project Zulu
这也意味着:
Moe + Project Zulu ---> London
Moe + Project Zulu -///-> not London
Moe + London -///-> not Project Zulu
这样 Moe 就可以与 Joe、Jen 和 Tom 在不同的地点开展 Zulu 计划。他可能不在伦敦从事其他项目,也不能飞往达文波特并在那里从事 Zulu 项目。
所以您的理解几乎是正确的:一个项目可能在不同地点开展,但任何特定员工可能不会在不同地点从事同一个项目。每个实体只能在其他两个的上下文中考虑。如果你删除一个,事情就会崩溃。
【讨论】: