《高校人力资源管理系统数据库设计与实现.doc》由会员分享,可在线阅读,更多相关《高校人力资源管理系统数据库设计与实现.doc(149页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date高校人力资源管理系统数据库设计与实现高校人力资源管理系统数据库设计与实现高校人力资源管理系统数据库设计与实现一、 系统开发目的 通过理论与实践教学,掌握关系型数据库的基本操作,理解关系型数据库的有关概念,具备一定的数据库结构设计的能力,并能综合运用所学知识,进行小型数据库应用系统的开发工作。本次课程设计是基于sql server 2008数据库进行的人力资源管理系统数
2、据库系统设计与实现。二、 系统概述 此系统建立了高校人力资源管理数据库应用系统,适用于高校内部人事管理。用户主要为人事部管理员。该系统应能完成以下主要功能:包括人事日常事务、薪酬、招聘、培训、考核以及对对企业的人力资源管理方方面面进行分析、规划、实施、调整,提高高校人力资源管理水平,使人力资源更有效的服务于组织或团体目标。它是以提高劳动生产率、工作生活质量和取得经济效益为目的而对人力资源进行获取、保持、开发、激励和调整等一系列管理的过程。机 构管理岗位管理人员管理人事业务薪酬管理保险管理招聘管理培训管理报表管理运行管理系统管理绩效管理 高校人力资源管理系统依据系统功能 分析该系统需要的表如下:
3、机构管理:培训机构岗位管理:员工单位信息人员管理:员工学习经历 员工信息表 员工家庭成员 员工劳动技能 员工工作经历人事业务:员工复职 员工离职 员工调动薪酬管理:员工奖惩保险管理:员工合同招聘管理:招聘项目 应聘人 面试 应聘通过培训管理:培训课程绩效管理:员工日常考勤 员工全月考勤 员工考核三、 数据模型设计3.1 E-R图 3.1.1 员工信息E-R图图1 员工信息E-R图3.1.2 员工单位信息E-R图图2 员工单位信息E-R图3.1.3 员工全月考勤E-R图图3 员工全月考勤E-R图3.1.4 员工日常考勤E-R图图4 员工日常考勤E-R图3.1.5 员工离职E-R图图5 员工离职E
4、-R图3.1.6 员工复职E-R图图6 员工复职E-R图3.1.7 员工培训课程信息E-R图图7 员工培训课程信息E-R图3.1.8 员工奖惩E-R图图8 员工奖惩E-R图3.1.9 员工学习经历E-R图图9 员工学习经历E-R图3.1.10 培训机构E-R图图10 培训机构E-R图3.1.11 招聘项目E-R图图11 招聘项目E-R图3.1.12 员工调动E-R图图12 员工调动E-R图3.1.13 应聘人E-R图图13 应聘人E-R图3.1.14 面试信息E-R图图14 面试信息E-R图3.1.15 应聘通过信息E-R图图15 应聘通过信息E-R图3.1.16 员工考核E-R图图16 员工
5、考核E-R图四 类图设计1 员工与单位信息实体类图(1) 员工实体 员工实体信息中,给出了本公司员工较全面的信息。员工实体信息存储是人力资源管理最基本的业务要求。根据信息可以了解员工的自身情况。(2)员工单位信息实体员工的单位信息,给出了员工在本公司的具体情况。 (3) 员工实体与员工单位信息实体间的关联 一个员工一定有且仅有一张员工单位信息,一个单位信息一定有且必须记录一个员工。 所以员工对员工单位信息为一对一的关系。2 员工、单位信息和工作经历实体类图(1)员工工作经历实体员工工作经历实体中包括:员工工作单位,开始和结束时间以及工作内容和离职原因。历史的储存了员工的工作经历情况。(2)员工
6、实体与员工工作经历实体的关联一个员工可以拥有一个或多个工作经历,一个工作经历必须属于一个员工,所以员工对员工工作经历为一对多的关系。一个员工可以只在本公司工作而没有历史工作经历,所以最小基数为零。3 员工、员工单位信息、员工家庭成员实体类图(1)员工家庭成员实体员工社会关系信息描述了员工家庭成员与员工的关系,成员工作单位、政治面貌、担任职务等属性。(2)员工实体与员工家庭成员实体的关联只有员工存在,员工家庭成员才存在,因此员工家庭成员实体依赖于员工实体。一个员工可以有一个或多个家庭成员,一个家庭成员只能属于一个员工(此时设立业务规则:一个家庭成员在本公司只有一个员工工作)。因此,员工对员工家庭
7、成员实体为一对多关系。一个成员可以没有家庭成员,所以最小基数为零。4 员工、员工单位信息和员工学习经历实体类图(1)员工学习经历实体员工学习经历信息反映了员工历史学习的学校、地址、专业、曾任班干等属性,它是员工历史学习记录的档案。员工可能没有学习经历,所以该实体中也包含了员工学习备注。(2)员工实体与员工学习经历实体的关联有员工才有员工学习经历,所以员工学习经历依赖员工实体。一个员工可以有一个或多个学习经历,但一个学习经历只能属于一个员工,所以员工对员工学习经历实体为一对多关系。一个员工可能没有学习经历,只是自学,所以最小基数为零。5 员工实体、员工单位信息实体、员工劳动技能实体类图(1)员工
8、劳动技能实体员工劳动技能是员工从事员工专项工作的基本条件,它包含员工技能名称、技能级别。因有些员工有特殊情况,所以也应有技能备注。(2)员工实体与员工劳动技能实体的关联一个员工可能有一项或多项劳动技能,一个劳动技能也可能有多个员工学习。所以,员工实体对员工劳动技能实体为多对多关系。(业务规则:一个员工必须有一项劳动技能)6 员工实体、员工单位信息实体和员工调动实体类图(1)员工调动实体员工调动实体包含了员工调动的新单位的一些属性,可以通过员工调动信息理解员工历史在本公司的工作状况。(2)员工实体、员工单位信息实体和员工调动实体的关联 一个员工可以一次或多次进行调动,一次员工调动只调动一个员工。
9、即员工实体对员工调动实体为一对多关系。一个员工可以没有调动过,所以员工实体对员工调动实体最小基数为零。员工在确定员工单位信息后可以有一次或多次调动,一次员工调动至少有一个或多个员工在原单位信息。即员工单位信息实体对员工调动实体为多对多关系。7 员工实体、员工单位信息实体、员工离职实体和员工复职实体类图(1)员工离职实体员工离职记录了员工离开公司的时间、类型和说明。(2)员工复职实体员工复职记录了员工回到公司的时间、类型和说明。(3)员工离职实体、员工复职实体、员工实体、员工单位信息实体的关联。一个员工可以离职一次或多次,但一个员工离职只能对应一个员工,所以员工实体对员工离职实体为一对多的关系。
10、又一个员工可以从未离职,所以它们最小基数为零。员工复职和离职一样,一个员工可以一次或多次复职,但一个员工复职只能对应一个员工,所以员工实体对员工复职实体为一对多的关系。又一个员工可以从未复职,所以它们最小基数为零。一个员工离职一次可以复职零次或一次,一个员工复职,则最少有一个员工离职,所以员工离职对员工复职为一对多的关系,且员工离职对员工复职最小基数为零。8 员工实体、员工单位信息实体和员工合同实体类图(1)员工合同实体员工合同实体应具有合同类型、签约时间等与本公司和员工具体相关的信息。(2)员工实体与员工合同实体的关联一个员工只能且必须签订一份合同,一份合同也只能且必须属于一个员工。所以员工
11、实体与员工合同实体为一对一的联系。9 员工实体、员工单位信息实体与员工奖惩实体类图(1)员工奖惩实体一个公司不能没有奖惩制度,所以必须设立奖惩项目。奖惩实体主要包括奖惩属性、奖惩日期、奖惩金额、奖惩项目和奖惩备注属性。(2)员工实体与员工奖惩实体的关联。一个员工可以有一次或多次奖惩信息,一次奖惩信息只能且必须属于一个员工。所以员工实体对员工奖惩实体为一对多的关系。又一个员工可以没有任何奖惩信息,所以员工实体对员工奖惩实体最小基数为零。10 员工实体、员工单位信息实体、员工考核实体、培训机构实体和培训课程实体类图(1)员工考核实体 员工考核信息是记录受过的培训的课程所得成绩、等级等员工培训信息。
12、(2)培训课程实体培训课程记录了公司举办培训课程名称、培训形式、主办部门以及费用等信息。(3)培训机构实体培训机构实体包括了机构名称、类型等机构本身的情况信息(4)员工实体、员工单位信息实体、员工考核实体、培训课程实体、培训机构实体的关联。一个员工可以有一个或多个员工考核,但一个考核只能且必须属于一个员工。所以员工实体对员工考核实体为一对多关系。又一个员工可以未经过培训,所以员工实体对员工考核实体最小基数为零。一个员工可以在一个或多个培训机构培训过,一个培训机构也可以有一个或多个员工参加培训,所以员工实体对培训机构实体为多对多关系。 同理一个员工可以参加了一个或多个培训课程、一个培训课程也可以
13、有多个员工参加。他们关系也为多对多关系一个培训机构有一门或多门培训课程、一门培训课程一定且必须属于一个培训机构,所以培训机构对培训课程实体为一对多关系。又培训机构根据业务规则最少要有一门培训课程,所以培训机构对培训课程实体最小基数为一。 一个员工考核必须且一定来自一个培训机构、一个培训机构可以有一个或多个员工考核。所以培训机构对员工考核实体为一对多关系。又一个培训机构一定有员工考核信息,所以培训机构对员工考核实体最小基数为一。11 员工实体、员工单位信息实体、招聘项目实体、应聘人实体、面试实体和应聘通过实体类图(1)招聘项目实体招聘项目实体包含了公司的需求,它包括招聘项目名称、目标、开始和结束
14、日期等属性。(2)应聘人实体应聘人实体是记录应聘人的相关信息,它包括应聘人的基本信息和学历等信息。(3)面试实体面试信息是通过记录应聘人在本公司应聘的内容的实体。(4)应聘通过实体应聘通过信息记录了应聘人通过应聘面试的信息,通过应聘后就可以成为本公司的成员。(5)员工实体、员工单位信息实体、招聘项目实体、应聘人实体、面试实体和应聘通过实体的关联。一个应聘人可能有一个应聘通过信息,一份应聘通过信息一定属于一个人,所以聘人实体对应聘通过实体应为一对一关系。又一个应聘人可能没有应聘通过,一个应聘通过必属于一个人,即最小基数分别为零、一。一个应聘人一定且只有一个面试信息,一个面试信息一定有一个人应聘。
15、所以应聘人实体对面试实体为一对一关系且最小基数都为一。一个应聘人到一个公司只能且必须应聘一个项目,招聘项目可以招聘多个应聘人。所以招聘项目实体对应聘人实体为一对多关系。又一个招聘项目最少要招聘一个应聘人,所以招聘项目实体对应聘人实体最小基数为一。一个员工可能有一个或多个应聘人,一个应聘人不一定通过应聘,所以员工实体对应聘人实体为一对多关.且应聘人对员工最小基数为零。又根据业务规则,员工可能没参加应聘进入公司,所以员工对应聘人实体最小基数为零。一个应聘通过有一份或多份面试信息,一份面试信息可能有一份应聘通过,所以应聘通过对面试实体为一对多关系。又面试不一定能通过,所以最小基数为零。12 员工实体
16、、员工单位信息实体、员工全月考勤实体和员工日常考勤类图 (1)员工全月考勤实体员工全月考勤实体包括员工假期、迟到等员工日常基本活动属性,它是员工日常考勤属性的汇总。(2)员工日常考勤实体员工日常考勤实体包括考勤时间和项目值等属性。(3)员工实体、员工部门实体、员工考勤项目实体、员工全月考勤实体和员工日常考勤实体的关联。一个员工可以有一个或多个员工全月考勤,一个全月考勤只能属于一个员工,所以员工实体对员工全月考勤实体为一对多的关系。一个员工一定有考勤月数,所以最小基数为一。一个员工可以有一个或多个日常考勤,一个日常考勤必定属于一个员工,所以员工实体对员工日常考勤实体为一对多的关系。根据业务规则,
17、一个员工肯定会有迟到、请假等情况,所以员工实体对员工日常考勤实体最小基数为一。一个全月考勤有一个或多个日常考勤信息,一个日常考勤一定且只属于一个全月考勤,所以员工全月考勤实体对员工日常考勤实体为一对多的关系。13 高校人力资源数据库管理总类图五 数据库设计1、以上E-R图模型转化为表间联系。(1)员工日常考勤(日常考勤编号、日常考勤项目、日常考勤时间、考勤项目值、考勤备注、全月考勤编号、员工编号);(2)员工全月考勤(全月考勤编号、应出勤天数、迟到次数、早退次数、迟到和早退总数、矿工天数、病假天数、休假天数、婚假天数、产假天数、丧假天数、倒休天数、未出勤天数、工作加班时数、周末加班时数、节假日
18、加班时数、加班总时数、实际出勤天数、员工编号);(3)员工离职(离职编号、离职类型、离职说明、离职时间、员工编号)、(4)培训课程(课程编号、课程名称、课程形式、主办部门、课程开课时间、课程结束时间、课程费用、课程备注、机构编号);(5)员工奖惩(奖惩编号、奖惩日期、奖惩属性、奖惩金额、奖惩项目、奖惩备注、工资月份、员工编号);(6)员工学习经历(员工学习经历编号、学习所在院校名称、学习院校地址、学习开始时间、学习结束时间、员工曾任班干、学习备注、员工所学专业、员工编号);(7)员工复职(复职编号、复职类型、复职说明、复职时间、离职编号、员工编号);(8)员工单位信息(员工单位编号、员工工种、
19、员工所在部门、员工行政等级、员工职务、员工职称、员工调入时间、员工本单位工龄、员工登记时间、员工简历、员工编号);(9)培训机构(机构编号、机构名称、机构类型、机构电话、机构传真、机构网站、机构地址、机构联系人姓名、机构联系人电话、机构联系人Email、机构备注);(10)招聘项目(招聘项目编号、招聘项目目标、招聘项目名称、项目需求数量、招聘确立时间、招聘开始时间、招聘结束时间、招聘项目备注、需求部门、招聘渠道);(11)员工合同(员工合同编号、合同名称、合同类型、合同属性、签约时间、试用生效时间、试用月数、是否转正、失效时间、生效时间、合同状态、合同备注、员工编号);(12)员工(员工编号、
20、员工工号、员工身份证号、员工姓名、员工出生年月、员工民族、员工婚姻状况、员工籍贯、员工政治面貌、员工联系电话、员工电子邮箱);(13)员工调动(员工调动编号、新部门名称、新行政等级、新职务、新职称、调动类型、调动说明、调动批准人、员工编号);(14)应聘人(应聘人编号、应聘人英文名、应聘人性别、应聘人身份证、应聘人出生年月、应聘人民族、应聘人籍贯、应聘人婚姻状况、应聘人政治面貌、应聘人联系电话、应聘人电子邮箱、应聘人手机号码、应聘人其他联系、应聘人毕业院校、应聘人专业、应聘人文化程度、应聘人特长、招聘项目编号、员工编号);(15)面试(面试编号、面试结果、面试内容、面试领导、面试备注、面试时间
21、、应聘人编号);(16)应聘通过(应聘通过编号、应聘审批人、应聘审批时间、应聘生效时间、面试编号、应聘人编号);(17)员工考核(考核编号、考核等级、考核成绩、考核评论、考核备注、记录时间、工资月份、机构编号、员工编号);(18)员工家庭成员(成员编号、成员与本人关系、成员出生日期、成员政治面貌、成员工作单位、成员担任职务、成员联系方式、成员备注、员工编号);(19)员工劳动技能(劳动技能编号、技能级别、技能名称、技能备注);(20)员工工作经历(工作经历编号、开始时间、结束时间、员工工作单位、工作内容、离职原因、员工编号);2、在分析了实体各自关系和函数依赖等问题后,发现有如下即点问题需要阐
22、明。(1)在培训机构信息表、应聘人信息表、家庭成员信息表和员工信息表中都出现了同样的一个问题。一个人可能有多个电话号码,也可能有多个电子邮箱,这就不满足范式要求了。但在本数据库中,我们有前提条件假设,即当培训机构、应聘人、家庭成员登记个人信息时、只要求填写一个电话号和一个电子邮箱,不需要填写所有的电话号和电子邮箱。这样的前提条件则是的这四个表的设计满足了第四范式的要求。(2)第二个问题是,在员工信息和应聘人信息的属性中,姓名和性别等一些个人属性完全依赖于身份证号,员工表中员工工号也可以完全决定员工姓名等属性,而身份证号和员工号又是非主属性,则不满足范式的要求。但在实际情况中,公司管理人查看员工
23、和应聘人信息时,应该马上就能得知其身份证号,用以确定其可靠性。因为虽然其没有满足范式要求,但出于实际考虑,也为提高管理者的查询和管理效率,还是将身份证号放入这三个表中。在员工表中,员工工号代表在公司的一种存在,所以员工工号也放入员工表中。(3)第三个问题是,在员工奖惩、员工考核和员工日常考勤的三个没有联系的表中都出现了工资月份属性,这样会导致数据冗余和更新数据异常、不一致问题的情况。解决的方法是运用SQL语言中Select查询语句的Distinct关键字,该关键字的使用能够在查询结果集中除去重复的行(即冗余数据),根据此思路可以形成一个没有冗余数据的结果表。3、设置数据约束(1)CHECK约束
24、(使其填写数据格式和内容满足CHECK约束):员工合同是否转正:是、否;婚姻状况:是、否;电话号码和手机号码为数字等。(2)默认值约束:默认值不可乱设置,容易造成严重的错误,所以我将性别默认值设为“男”。(3)有效性约束:将int型(除了自动编号)属性的数值范围做出了规定。如:员工的奖惩金额应该大于零,员工本单位工龄应该是0到40之间等。(4)主键和外键约束:在每个实体中必须有一个主键,且或有外键的需要,具体设置在数据库实现部分进行说明。六、数据库实现1) 表1 员工信息表字段名称数据类型索引空值其它员工编号int有(无重复)否主键员工工号int否员工姓名char(10)否员工身份证号char
25、(18)否员工出生年月datetime否员工性别char(2)否有效性规则“男”or“女”,默认值“男” 约束名:checksex员工民族char(10)否员工婚姻状况char(10)否员工籍贯char(20)否员工政治面貌char(10)否员工电话int否员工电子邮箱char(30)否员工信息表在数据库中的实现那如图所示:2) 表2 员工单位信息表字段类型数据类型索引空值其它员工部门编号int有(无重复)否主键员工工种char(20)否员工行政等级char(20)否员工职务char(30)否员工职称char(20)否员工调入时间datetime否员工本单位工龄int否有效性规则:betwee
26、n 0 and 40员工登记时间datetime否员工简历char(90)是员工编号int有(有重复)否外键员工单位信息在数据库中的实现那如图所示:3) 表3 员工全月考勤字段名称数据类型索引空值其它全月考勤编号int有(无重复)否主键应出勤天数int否迟到次数int是早退次数int是迟到和早退总数int是旷工天数int是病假天数int是休假天数int是婚假天数int是产假天数int是倒休天数int是未出勤天数int是工作加班时数int是周末加班时数int是节假日加班时数int是加班总时数int是实际出勤天数int是员工编号int有(有重复)否外键员工全月考勤在数据库中的实现如图所示:4) 图
27、4 员工日常考勤字段名称数据类型索引空值其它日常考勤编号int有(无重复)否主键日常考勤项目char(20)是日常考勤时间datetime是全月考勤编号int有(有重复)否外键工资月份datetime否员工编号int有(有重复)否外键员工日常考勤在数据库中的实现如图所示:5) 图5 员工离职字段名称数据类型索引空值其它离职编号int有(无重复)否主键离职类型char(20)否离职说明char(90)是离职时间datetime否员工编号int有(有重复)否外键员工离职在数据库中的实现如图所示:6) 图6 员工复职字段名称数据类型索引空值其它复职编号int有(无重复)否主键复职类型char(20)
28、否复职说明char(90)是复职时间datetime否离职编号int有(有重复)否外键员工编号int有(有重复)否外键员工复职在数据库中的实现如图所示:7) 图7 培训课程字段名称数据类型索引空值其它课程编号int有(无重复)否主键课程名称char(30)否课程形式char(10)否CHECK约束:“内训”or“外训”主办部门char(20)否开课时间datetime否结束时间datetime否课程费用int否课程备注char(20)是机构编号int有(有重复)否外键培训课程在数据库中的实现如图所示:8) 图8 员工奖惩字段名称数据类型索引空值其它奖惩编号int有(无重复)否主键奖惩日期dat
29、etime否奖惩属性char(10)否CHECK约束:“奖励”or“惩罚”奖惩金额int否有效性规则:金额0奖惩项目char(20)否奖惩备注char(20)是员工编号int有(有重复)否外键工资月份datetime否员工奖惩在数据库中的实现如图所示:9) 图9 员工学习经历字段名称数据类型索引空值其它学习经历编号int有(无重复)否主键学习所在院校char(20)否学习院校地址char(50)是学习开始时间datetime是学习结束时间datetime是员工曾任班干char(20)是学习备注char(20)是员工所学专业char(20)否员工编号int有(有重复)否外键员工学习经历在数据库中
30、的实现如图所示:10) 图10 培训机构字段名称数据类型索引空值其它机构编号int有(无重复)否主键机构名称char(20)否机构类型char(20)否CHECK约束:”技术类” or ”基础类”机构电话char(20)否机构传真char(20)否机构网站char(50)否机构地址char(50)否联系人电话char(20)否联系人姓名char(20)否联系人Emailchar(20)否机构备注char(50)是培训机构在数据库中的实现如图所示:11) 图11 招聘项目字段名称数据类型索引空值其它招聘项目编号int有(无重复)否主键招聘项目目标char(20)否招聘项目名称char(20)否项
31、目需求数量int否招聘确立时间datetime否招聘开始时间datetime否招聘结束时间datetime否招聘项目备注char(50)是需求部门char(20)否招聘渠道char(20)否招聘项目在数据库中的实现如图所示:12) 图12 员工合同字段名称数据类型索引空值其它员工合同编号int有(无重复)否主键合同类型char(20)否合同属性char(20)否CHECK约束:“有固定期限”or“无固定期限”签约时间datetime否试用生效时间datetime否试用失效时间datetime否试用月数int否是否转正char(5)是CHECK约束:“是”or“否”失效时间datetime否生效
32、时间char(20)否Check约束:”已到期“or”未到期“合同状态char(20)否合同备注char(90)是员工编号int有(有重复)否外键合同名称char(20)否员工合同在数据库中的实现如图所示:13) 图13 员工调动字段名称数据类型索引空值其它员工调动编号int有(无重复)否主键新部门名称char(20)否新行政等级char(20)否新职务char(20)否新职称char(20)否调动类型char(20)否调动说明char(50)是调动批准人char(20)否员工编号int有(有重复)否外键员工调动在数据库中的实现如图所示:14) 图14 应聘人字段名称数据类型索引空值其它应聘人
33、编号 int有(无重复)否应聘人姓名char(20)否应聘人英文名char(20)是应聘人性别char(10)否有效性规则“男”or“女”,默认值“男”应聘人出生年月datetime否应聘人民族char(20)否应聘人籍贯char(20)否应聘人婚姻状况char(20)否应聘人政治面貌char(20)否应聘人联系电话int否应聘人电子邮箱char(20)否应聘人手机号码int是应聘人其他联系int是应聘人毕业院校char(20)否应聘人文化程度char(20)否应聘人专业char(20)否员工编号int有(有重复)否外键应聘人特长char(50)是招聘项目编号int有(有重复)否外键应聘人在数
34、据库中的实现如图所示:15) 图15 面试字段名称数据类型索引空值其它面试编号int有(有重复)否主键面试结果char(20)否CHECK约束:“通过”or“未通过”面试内容char(20)否面试领导char(20)否面试备注char(50)是面试时间datetime否应聘人编号int有(有重复)否外键面试在数据库中的实现如图所示:16) 图16 应聘通过字段名称数据类型索引空值其它应聘通过编号int有(无重复)否主键应聘审批人char(20)否应聘审批时间datetime否应聘生效时间datetime否面试编号int否外键应聘人编号int否外键应聘人在数据库中的实现如入所示:17) 图17
35、员工考核字段名称数据类型索引空值否考核编号int有(无重复)否主键考核等级char(10)否考核评论char(20)是考核备注char(20)是记录时间datetime否工资月份datetime否机构编号int否外键员工编号int否外键员工考核在数据库中的实现如图所示:18) 图18 员工家庭成员字段名称数据类型索引空值其它成员编号int有(无重复)否主键成员与本人关系char(20)否成员出生日期datetime否成员政治面貌char(20)否成员工作单位char(20)否成员担任职务char(20)否成员联系方式int否成员备注char(20)否员工编号int有(有重复)否外键员工家庭成员
36、在数据库中的实现如图所示:19) 图19 员工劳动技能字段名称数据类型索引空值其它劳动技能编号int有(无重复)否主键技能级别char(20)否技能备注char(20)是技能名称char(20)否员工劳动技能在数据库中的实现如图所示:20) 图20 员工工作经历字段名称数据类型索引空值其它工作经历编号int有(无重复)否主键工作开始时间datetime否工作结束时间datetime否历史工作单位char(20)否工作内容char(50)是历史离职原因char(20)是员工编号int否外键员工历史工作经历数据库中的实现如图所示:七 测试设计(一)测试查询语句:1. 查询员工月考勤记录,显示员工姓
37、名,工号和考勤信息select 员工信息表.员工姓名,员工信息表.员工工号,员工全月考勤.应出勤天数,员工全月考勤.实际出勤天数,员工全月考勤.未出勤天数,员工全月考勤.倒休天数,员工全月考勤.旷工天数,员工全月考勤.病假天数,员工全月考勤.产假天数,员工全月考勤.婚假天数,员工全月考勤.工作加班时数,员工全月考勤.迟到次数,员工全月考勤.加班总时数,员工全月考勤.节假日加班时数,员工全月考勤.迟到和早退总数from 员工全月考勤,员工信息表where 员工全月考勤.员工编号=员工信息表.员工编号执行结果如图1-1: 图1-1:员工月考勤记录2.查询员工的详细信息select 员工信息表.员工
38、姓名,员工信息表.员工出生年月,员工信息表.员工电话,员工信息表.员工籍贯,员工信息表.员工民族,员工信息表.员工身份证号,员工信息表.员工政治面貌,员工工作经历.历史工作单位,员工工作经历.历史离职原因,员工单位信息表.员工工种,员工单位信息表.员工本单位工龄,员工单位信息表.员工调入时间,员工单位信息表.员工行政等级,员工单位信息表.员工职称,员工单位信息表.员工职务from 员工工作经历 ,员工单位信息表 ,员工信息表where 员工工作经历.员工编号=员工单位信息表.员工编号 and 员工单位信息表.员工编号=员工信息表.员工编号执行结果如图1-2 图1-2 员工详细信息记录3. 查询员工奖罚记录select 员工信息表.员工姓名,员工信息表.员工工号,员工奖惩.奖惩金额,员工奖惩.奖惩项目,员工奖惩.奖惩属性,员工奖惩.奖惩备注,员工奖惩.奖惩日期from 员工信息表,员工奖惩where 员工信息表.员工编号=员工奖惩.员工编号执行结果如图1-3