阅读以下关于项目工作管理系统的数据库设计说明,根据要求回答问题1~问题4。[说明]某软件开发公司,决定结合自身工作的需求开发设计本公司的项目工作管理系统,由郭工程师承担数据库的设计工作。公司项目管理的需求分析如下。1.组织机构。该公司有多个部门,每个部门有多个职员、多个办公室,每个办公室有一部电话。当部门变更时更换新的部门代码。职员辞职后,若再次被聘用仍使用辞职前的代码。被聘用职员担任某职务,职务用职务代码来标识。职务分为:工程师、高级工程师、经理助理、经理等。职员的工资根据等级区分,共分为S、A、B、C、D 5个等级。一个职务对应某个等级,一个等级对应多个职务。职员月工资等于职员月工作时间(小时)乘以小时工资。职员的人事变动及职位变更(升级、降级)在月初进行。2.项目管理。项目用项目代码标识,使用过的项目代码不能重复使用。一个部门可承担多个项目,但一个项目仅由一个部门承担。一个项目有一名项目主管和多个职员;一个职员可参加多个项目。项目代码由系统自动生成,一旦项目建立,项目名、部门代码及起始年月日不能再变更。3.项目的工作管理流程为:项目工作计划输入(初始计划)→工作业绩输入→业绩生成(每月一次)→计划修正(每月一次)。①项目工作计划输入。项目主管使用如图1-9所示的计划输入界面,输入项目代码、职员代码、职员参加某个项目的月工作时间(计划)。图中空白区域为可输入项。②工作业绩输入。输入职员每天参加各个项目的工作时间。如图1-10所示为工作业绩输入界面,图中空白区域为可输入项。其中,出勤时间由考勤系统管理,指定项目代码的顺序可以不同,并且一天可以输入多个项目代码,但同一个项目代码不能重复输入。③业绩生成。月底汇总职员的当月工作业绩,生成月工作业绩表。④计划修正。项目主管根据项目进度修改以后的工作计划。郭工程师根据公司的项目需求将数据库关系模式设计如下:部门(部门代码,部门名,起始年月,终止年月,办公室,办公电话);职务(职务代码,职务名);等级(等级代码,等级名,年月,小时工资);职员(职员代码,职员名,部门代码,职务代码,任职时间);项目(项目代码,项目名,部门代码,起始年月日,结束年月日,项目主管);工作计划(项目代码,职员代码,年月,工作时间)。请使用“关系模式标记规则”(见本题附内容,全书同),给出“部门”、“等级”、“项目”和“工作计划”关系模式的主键和外键。
阅读以下关于项目工作管理系统的数据库设计说明,根据要求回答问题1~问题4。
[说明]
某软件开发公司,决定结合自身工作的需求开发设计本公司的项目工作管理系统,由郭工程师承担数据库的设计工作。公司项目管理的需求分析如下。
1.组织机构。该公司有多个部门,每个部门有多个职员、多个办公室,每个办公室有一部电话。当部门变更时更换新的部门代码。职员辞职后,若再次被聘用仍使用辞职前的代码。被聘用职员担任某职务,职务用职务代码来标识。职务分为:工程师、高级工程师、经理助理、经理等。职员的工资根据等级区分,共分为S、A、B、C、D 5个等级。一个职务对应某个等级,一个等级对应多个职务。职员月工资等于职员月工作时间(小时)乘以小时工资。职员的人事变动及职位变更(升级、降级)在月初进行。
2.项目管理。项目用项目代码标识,使用过的项目代码不能重复使用。一个部门可承担多个项目,但一个项目仅由一个部门承担。一个项目有一名项目主管和多个职员;一个职员可参加多个项目。项目代码由系统自动生成,一旦项目建立,项目名、部门代码及起始年月日不能再变更。
3.项目的工作管理流程为:项目工作计划输入(初始计划)→工作业绩输入→业绩生成(每月一次)→计划修正(每月一次)。
①项目工作计划输入。项目主管使用如图1-9所示的计划输入界面,输入项目代码、职员代码、职员参加某个项目的月工作时间(计划)。图中空白区域为可输入项。
②工作业绩输入。输入职员每天参加各个项目的工作时间。如图1-10所示为工作业绩输入界面,图中空白区域为可输入项。其中,出勤时间由考勤系统管理,指定项目代码的顺序可以不同,并且一天可以输入多个项目代码,但同一个项目代码不能重复输入。
③业绩生成。月底汇总职员的当月工作业绩,生成月工作业绩表。
④计划修正。项目主管根据项目进度修改以后的工作计划。
郭工程师根据公司的项目需求将数据库关系模式设计如下:
部门(部门代码,部门名,起始年月,终止年月,办公室,办公电话);
职务(职务代码,职务名);
等级(等级代码,等级名,年月,小时工资);
职员(职员代码,职员名,部门代码,职务代码,任职时间);
项目(项目代码,项目名,部门代码,起始年月日,结束年月日,项目主管);
工作计划(项目代码,职员代码,年月,工作时间)。
请使用“关系模式标记规则”(见本题附内容,全书同),给出“部门”、“等级”、“项目”和“工作计划”关系模式的主键和外键。