【问题标题】:Database Modelling - Relationships数据库建模 - 关系
【发布时间】:2014-04-08 02:13:25
【问题描述】:

目前,在我的数据库设计课程中,我们处于数据库建模阶段。我们收到了一张表,其中描述了一些东西和相关的模型。有一个部分让我感到困惑。

我上传了图表那部分的图片,以及让我感到困惑的问题部分。一定有什么我误解了,但我不完全确定是什么。我将非常感谢提供的任何帮助。 :D

这是问题中让我感到困惑的部分:

“一个部门控制着许多项目”和“一个员工可能是 分配到一个部门并可能从事多个项目”

这是我感到困惑的图表图片部分的链接。我无法直接发布图片,因为我没有十个声望点

http://i.stack.imgur.com/S69fB.jpg

看看我们给出的模型,这让我感到困惑。我假设每个实体都是一个表,其中表中的键是外键:

“一个部门控制着许多项目”

DepartmentProject 实体之间存在识别关系。 Project 中的外键之一是 dept,我假设它是来自 Department 的 deptNumber。一个部门如何处理多个项目?如果我理解正确,deptNumber 只能在 Project 表中出现一次,因为它是主键。如果 deptNumber 在项目中只能出现一次,一个部门如何处理多个项目?还是只能出现一次的组合键?这意味着 (deptNumber 1, Project 1) 和 (deptnumber 1, Project 2) 都可以出现在 Project 实体中?假设键的组合只能出现一次,那么我误解员工关系和工作的原因也是同样的原因。

【问题讨论】:

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


    【解决方案1】:

    您的最终假设是正确的。

    在您的图表中,Project 表有一个复合主键(dept、projectNumber)。这意味着字段值的组合应该是唯一的。它与两个唯一字段不同。值:(dept: 1, projectNumber: 1) 和 (dept: 1, projectNumber 2) 表示部门 1 从事两个项目:项目 1 和项目 2。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-10
      相关资源
      最近更新 更多