我正在建立一个数据库来管理项目任务,而这让我特别麻烦的一个部分是职称的与每一个项目中,他们正在对员工的分配。
要求
- 员工可以在同一时间内处理多个项目
- 一个项目上有多个员工
- 一个项目有多个职位名称
- 雇员工作在一个项目下的项目的职称的只有一个
- 多个员工可以在同一职位工作,在项目
我不知道如何来表示这个用表格; 每一个布局我拿出任何能够为雇员在一个项目下的职位由不同的项目工作,或者他们能够在两种不同的工作头衔在同一项目上工作。
例的图
基本上,我有三个表:
表
- 项目
- 项目名称(唯一的)
- 项目ID
- 雇员
- 员工姓名(唯一)
- 员工ID
- 职称
- 标题
- 项目编号(名称,专案编号是唯一的)
- 标题ID
然后交叉引用表,称为分配。 有两种方式我都拿出了迄今为止的分配如下:
实施例1
- 分配
- 员工ID
- 项目ID(雇员-专案编号是唯一的)
- 标题ID(唯一)
- AssignmentID
这种方式限制了员工每个项目一个冠军,但允许他们使用不属于在分配该项目的标题。
实施例2
- 分配
- 员工ID
- 标题ID(雇员-TitleID唯一的)
- AssignmentID
这样分配的员工通过标题的项目,所以不可能指派专人到项目与一个无效的称号。 然而,这允许员工将被分配给在多个标题相同的项目。
同样,图表都可以在这里: http://i.imgur.com/IbR0P.png
我知道必须有一个干净地做到这一点,但我还没有在数据库设计任何真正的正式训练,我找不到,除了如何让许多一对多的关系,这难道不是”通过我的任何搜索牛逼正是我需要帮助。
谢谢!
- 编辑1
- 加粗的主键字段(图中的图像进行了强调,但很难说,因为他们是最后一个字段)
- 新增AssignmentID(主键),以分配表中的问题(存在于设计中,忘记创建问题&图时包括)
- 编辑2
- 新增失踪的要求(5)
- 添加的报头的例子和要求
- 编辑3
- 我有10个代表了,所以我可以把图!
- 编辑4
- 增加了独特的按键标识符(个人独特的键在图确定的,但我不知道该怎么办在DIA复合键)