目前,在我的Database Design类中,我们处于数据库建模阶段。我们收到了一张表格,其中描述了某些内容和相关模型。有一部分让我困惑。
我上传了图表中该部分的图片,以及让我感到困惑的部分问题。必须有一些我误解的东西,但我不完全确定是什么。我非常感谢给予的任何帮助。 :d
这是让我困惑的问题的一部分:
“一个部门控制着许多项目”和“一个员工可能是 分配到一个部门,可以在几个项目上工作“
这是图表中图片中我感到困惑的部分的链接。我无法直接发布图片,因为我没有十个声望点
http://i.stack.imgur.com/S69fB.jpg
看看我们给出的模型,这让我很困惑。我假设每个实体都是一个表,其中表中的键是外键:
“一个部门控制着许多项目”
部门和项目实体之间存在识别关系。在项目中的一个外键是dept,我假设它是来自Department的deptNumber。部门如何处理多个项目?如果我理解正确,deptNumber只能在 Project 表中出现一次,因为它是主键。如果deptNumber只能在Projects中出现一次,那么部门如何处理多个项目?或者它是一个只能出现一次的键组合?意味着(deptNumber 1,Project 1)和(deptnumber 1,Project 2)都可以出现在Project实体中?假设键的组合只能出现一次,那么我之所以误解员工关系和工作的原因是相同的。
答案 0 :(得分:0)
你最后的假设是真的。
在图表中, Project 表有一个复合主键(dept,projectNumber)。这意味着字段值的组合应该是唯一的。它与两个独特的字段不同。值:(dept:1,projectNumber:1)和(dept:1,projectNumber 2)表示Department 1适用于两个项目:Project 1和Project 2。