数据库建模 - 关系

时间:2014-04-08 02:13:26

标签: database database-design relational-database database-schema

目前,在我的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实体中?假设键的组合只能出现一次,那么我之所以误解员工关系和工作的原因是相同的。

1 个答案:

答案 0 :(得分:0)

你最后的假设是真的。

在图表中, Project 表有一个复合主键(dept,projectNumber)。这意味着字段值的组合应该是唯一的。它与两个独特的字段不同。值:(dept:1,projectNumber:1)和(dept:1,projectNumber 2)表示Department 1适用于两个项目:Project 1和Project 2。