使用三元关系的概念数据模型

时间:2015-07-19 03:39:09

标签: database data-modeling conceptual ternary

我有以下陈述来创建我的概念模型:

  • 员工属于一个部门;
  • 员工可以在他的部门的许多项目中工作;
  • PROJECT仅由一个部门管理;
  • DEPARTMENT可以拥有多个PROJECT;

因此,只要这些项目属于他的部门,1名员工就可以在N个项目中工作。我怎样才能保证员工和项目使用三元关系属于同一个部门?

进行一些测试我发现使用三元关系我可以在项目中拥有一个不属于同一项目的员工 例如:

enter image description here

如图所示,允许使用第二行和第三行,但考虑到PROJECT和EMPLOYEE来自DEPARTMENT 1,它无效。 第二行表示员工来自DEPARTMENT 2,但它之前定义了DEPARTMENT 1。 第三行表示PROJECT 1来自DEPARTMENT 2,但它也被定义为来自第一行的DEPARTMENT 1。 我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:1)

您说EMPLOYEE belongs to one DEPARTMENTPROJECT is managed by only one DEPARTMENT但没有对这些要求进行建模。完成后,您可以为(员工,部门)以及(项目,部门)的WORK添加外键约束。

答案 1 :(得分:-2)

https://drive.google.com/file/d/0B9mDH6Q_ERUTNWZfaUx3RmpFSWEyOERmRnluaUprbUdUM2hJ/view?usp=sharing

这是我绘制的ER图的链接。该图对应于这个问题

  1. 公司有部门
  2. 部门有姓名,号码,经理 经理是一名员工 经理有开始日期 部门有几个地点
  3. 部门控制项目 项目有名称,编号,位置
  4. 员工有姓名,社会保障,号码,地址,工资,性别,生日。
  5. 员工在一个部门,并严格执行属于该部门的多个项目
  6. 每个员工在每个项目上工作的小时数
  7. 员工有主管
  8. 员工的姓名,性别,生日和与员工的关系都有家属。