使用三元关系的概念数据模型
Conceptual data model using ternary relationship
我有以下陈述来创建我的概念模型:
- EMPLOYEE 属于一个部门;
- 员工可以在其部门的多个项目中工作;
- 项目仅由一个部门管理;
- DEPARTMENT 可以有很多 PROJECT;
所以 1 个员工可以在 N 个项目中工作,只要这些项目属于他的部门。三元关系如何保证EMPLOYEE和PROJECT属于同一个DEPARTMENT?
做一些测试我发现使用三元关系我可以在一个不属于同一个项目的项目中拥有一个员工
示例:
如图所示,第二行和第三行是允许的,但考虑到 PROJECT 和 EMPLOYEE 来自 DEPARTMENT 1,这是无效的。
第二行表示 EMPLOYEE 来自 DEPARTMENT 2,但它之前定义为 DEPARTMENT 1。
第三行表示 PROJECT 1 来自 DEPARTMENT 2,但它在第一行中也被定义为来自 DEPARTMENT 1。
我该怎么做才能解决这个问题?
您说了 EMPLOYEE belongs to one DEPARTMENT
和 PROJECT is managed by only one DEPARTMENT
但没有对这些要求进行建模。完成后,您可以为 (EMPLOYEE, DEPARTMENT) 以及 (PROJECT, DEPARTMENT) 的 WORK 添加外键约束。
https://drive.google.com/file/d/0B9mDH6Q_ERUTNWZfaUx3RmpFSWEyOERmRnluaUprbUdUM2hJ/view?usp=sharing
就是我画的ER图link。该图对应这个问题
- COMPANY 有部门
- 部门有姓名、编号、经理
经理是员工
经理有开始日期
部门有多个地点
- 部门控制项目
项目有名称、编号、位置
- 员工有姓名、社保、号码、地址、工资、性别、生日。
- 员工在一个部门,并严格从事属于该部门的多个项目
- 每个员工在每个项目上的工作时间
- 员工有主管
- 员工有姓名、性别、生日以及与员工的关系的家属。
我有以下陈述来创建我的概念模型:
- EMPLOYEE 属于一个部门;
- 员工可以在其部门的多个项目中工作;
- 项目仅由一个部门管理;
- DEPARTMENT 可以有很多 PROJECT;
所以 1 个员工可以在 N 个项目中工作,只要这些项目属于他的部门。三元关系如何保证EMPLOYEE和PROJECT属于同一个DEPARTMENT?
做一些测试我发现使用三元关系我可以在一个不属于同一个项目的项目中拥有一个员工 示例:
如图所示,第二行和第三行是允许的,但考虑到 PROJECT 和 EMPLOYEE 来自 DEPARTMENT 1,这是无效的。 第二行表示 EMPLOYEE 来自 DEPARTMENT 2,但它之前定义为 DEPARTMENT 1。 第三行表示 PROJECT 1 来自 DEPARTMENT 2,但它在第一行中也被定义为来自 DEPARTMENT 1。 我该怎么做才能解决这个问题?
您说了 EMPLOYEE belongs to one DEPARTMENT
和 PROJECT is managed by only one DEPARTMENT
但没有对这些要求进行建模。完成后,您可以为 (EMPLOYEE, DEPARTMENT) 以及 (PROJECT, DEPARTMENT) 的 WORK 添加外键约束。
https://drive.google.com/file/d/0B9mDH6Q_ERUTNWZfaUx3RmpFSWEyOERmRnluaUprbUdUM2hJ/view?usp=sharing
就是我画的ER图link。该图对应这个问题
- COMPANY 有部门
- 部门有姓名、编号、经理 经理是员工 经理有开始日期 部门有多个地点
- 部门控制项目 项目有名称、编号、位置
- 员工有姓名、社保、号码、地址、工资、性别、生日。
- 员工在一个部门,并严格从事属于该部门的多个项目
- 每个员工在每个项目上的工作时间
- 员工有主管
- 员工有姓名、性别、生日以及与员工的关系的家属。