高校人力资源管理系统数据库设计与实现.docx

上传人:b****6 文档编号:7019652 上传时间:2023-01-16 格式:DOCX 页数:53 大小:1.22MB
下载 相关 举报
高校人力资源管理系统数据库设计与实现.docx_第1页
第1页 / 共53页
高校人力资源管理系统数据库设计与实现.docx_第2页
第2页 / 共53页
高校人力资源管理系统数据库设计与实现.docx_第3页
第3页 / 共53页
高校人力资源管理系统数据库设计与实现.docx_第4页
第4页 / 共53页
高校人力资源管理系统数据库设计与实现.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

高校人力资源管理系统数据库设计与实现.docx

《高校人力资源管理系统数据库设计与实现.docx》由会员分享,可在线阅读,更多相关《高校人力资源管理系统数据库设计与实现.docx(53页珍藏版)》请在冰豆网上搜索。

高校人力资源管理系统数据库设计与实现.docx

高校人力资源管理系统数据库设计与实现

高校人力资源管理系统数据库设计和实现

一、系统开发目的

通过理论和实践教学,掌握关系型数据库的基本操作,理解关系型数据库的有关概念,具备一定的数据库结构设计的能力,并能综合运用所学知识,进行小型数据库使用系统的开发工作。

本次课程设计是基于sqlserver2008数据库进行的人力资源管理系统数据库系统设计和实现。

二、系统概述

此系统建立了高校人力资源管理数据库使用系统,适用于高校内部人事管理。

用户主要为人事部管理员。

该系统应能完成以下主要功能:

包括人事日常事务、薪酬、招聘、培训、考核以及对对企业的人力资源管理方方面面进行分析、规划、实施、调整,提高高校人力资源管理水平,使人力资源更有效的服务于组织或团体目标。

它是以提高劳动生产率、工作生活质量和取得经济效益为目的而对人力资源进行获取、保持、开发、激励和调整等一系列管理的过程。

依据系统功能分析该系统需要的表如下:

机构管理:

培训机构

岗位管理:

员工单位信息

人员管理:

员工学习经历员工信息表员工家庭成员员工劳动技能员工工作经历

人事业务:

员工复职员工离职员工调动

薪酬管理:

员工奖惩

保险管理:

员工合同

招聘管理:

招聘项目应聘人面试应聘通过

培训管理:

培训课程

绩效管理:

员工日常考勤员工全月考勤员工考核

三、数据模型设计

3.1E-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-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员工考核E-R图

四类图设计

1员工和单位信息实体类图

(1)员工实体

员工实体信息中,给出了本公司员工较全面的信息。

员工实体信息存储是人力资源管理最基本的业务要求。

根据信息可以了解员工的自身情况。

(2)员工单位信息实体

员工的单位信息,给出了员工在本公司的具体情况。

(3)员工实体和员工单位信息实体间的关联

一个员工一定有且仅有一张员工单位信息,一个单位信息一定有且必须记录一个员工。

所以员工对员工单位信息为一对一的关系。

2员工、单位信息和工作经历实体类图

(1)员工工作经历实体

员工工作经历实体中包括:

员工工作单位,开始和结束时间以及工作内容和离职原因。

历史的储存了员工的工作经历情况。

(2)员工实体和员工工作经历实体的关联

一个员工可以拥有一个或多个工作经历,一个工作经历必须属于一个员工,所以员工对员工工作经历为一对多的关系。

一个员工可以只在本公司工作而没有历史工作经历,所以最小基数为零。

3员工、员工单位信息、员工家庭成员实体类图

(1)员工家庭成员实体

员工社会关系信息描述了员工家庭成员和员工的关系,成员工作单位、政治面貌、担任职务等属性。

(2)员工实体和员工家庭成员实体的关联

只有员工存在,员工家庭成员才存在,因此员工家庭成员实体依赖于员工实体。

一个员工可以有一个或多个家庭成员,一个家庭成员只能属于一个员工(此时设立业务规则:

一个家庭成员在本公司只有一个员工工作)。

因此,员工对员工家庭成员实体为一对多关系。

一个成员可以没有家庭成员,所以最小基数为零。

4员工、员工单位信息和员工学习经历实体类图

(1)员工学习经历实体

员工学习经历信息反映了员工历史学习的学校、地址、专业、曾任班干等属性,它是员工历史学习记录的档案。

员工可能没有学习经历,所以该实体中也包含了员工学习备注。

(2)员工实体和员工学习经历实体的关联

有员工才有员工学习经历,所以员工学习经历依赖员工实体。

一个员工可以有一个或多个学习经历,但一个学习经历只能属于一个员工,所以员工对员工学习经历实体为一对多关系。

一个员工可能没有学习经历,只是自学,所以最小基数为零。

5员工实体、员工单位信息实体、员工劳动技能实体类图

(1)员工劳动技能实体

员工劳动技能是员工从事员工专项工作的基本条件,它包含员工技能名称、技能级别。

因有些员工有特殊情况,所以也应有技能备注。

(2)员工实体和员工劳动技能实体的关联

一个员工可能有一项或多项劳动技能,一个劳动技能也可能有多个员工学习。

所以,员工实体对员工劳动技能实体为多对多关系。

(业务规则:

一个员工必须有一项劳动技能)

6员工实体、员工单位信息实体和员工调动实体类图

(1)员工调动实体

员工调动实体包含了员工调动的新单位的一些属性,可以通过员工调动信息理解员工历史在本公司的工作状况。

(2)员工实体、员工单位信息实体和员工调动实体的关联

一个员工可以一次或多次进行调动,一次员工调动只调动一个员工。

即员工实体对员工调动实体为一对多关系。

一个员工可以没有调动过,所以员工实体对员工调动实体最小基数为零。

员工在确定员工单位信息后可以有一次或多次调动,一次员工调动至少有一个或多个员工在原单位信息。

即员工单位信息实体对员工调动实体为多对多关系。

7员工实体、员工单位信息实体、员工离职实体和员工复职实体类图

(1)员工离职实体

员工离职记录了员工离开公司的时间、类型和说明。

(2)员工复职实体

员工复职记录了员工回到公司的时间、类型和说明。

(3)员工离职实体、员工复职实体、员工实体、员工单位信息实体的关联。

一个员工可以离职一次或多次,但一个员工离职只能对应一个员工,所以员工实体对员工离职实体为一对多的关系。

又一个员工可以从未离职,所以它们最小基数为零。

员工复职和离职一样,一个员工可以一次或多次复职,但一个员工复职只能对应一个员工,所以员工实体对员工复职实体为一对多的关系。

又一个员工可以从未复职,所以它们最小基数为零。

一个员工离职一次可以复职零次或一次,一个员工复职,则最少有一个员工离职,所以员工离职对员工复职为一对多的关系,且员工离职对员工复职最小基数为零。

8员工实体、员工单位信息实体和员工合同实体类图

(1)员工合同实体

员工合同实体应具有合同类型、签约时间等和本公司和员工具体相关的信息。

(2)员工实体和员工合同实体的关联

一个员工只能且必须签订一份合同,一份合同也只能且必须属于一个员工。

所以员工实体和员工合同实体为一对一的联系。

9员工实体、员工单位信息实体和员工奖惩实体类图

(1)员工奖惩实体

一个公司不能没有奖惩制度,所以必须设立奖惩项目。

奖惩实体主要包括奖惩属性、奖惩日期、奖惩金额、奖惩项目和奖惩备注属性。

(2)员工实体和员工奖惩实体的关联。

一个员工可以有一次或多次奖惩信息,一次奖惩信息只能且必须属于一个员工。

所以员工实体对员工奖惩实体为一对多的关系。

又一个员工可以没有任何奖惩信息,所以员工实体对员工奖惩实体最小基数为零。

10员工实体、员工单位信息实体、员工考核实体、培训机构实体和培训课程实体类图

(1)员工考核实体

员工考核信息是记录受过的培训的课程所得成绩、等级等员工培训信息。

(2)培训课程实体

培训课程记录了公司举办培训课程名称、培训形式、主办部门以及费用等信息。

(3)培训机构实体

培训机构实体包括了机构名称、类型等机构本身的情况信息

(4)员工实体、员工单位信息实体、员工考核实体、培训课程实体、培训机构实体的关联。

一个员工可以有一个或多个员工考核,但一个考核只能且必须属于一个员工。

所以员工实体对员工考核实体为一对多关系。

又一个员工可以未经过培训,所以员工实体对员工考核实体最小基数为零。

一个员工可以在一个或多个培训机构培训过,一个培训机构也可以有一个或多个员工参加培训,所以员工实体对培训机构实体为多对多关系。

同理一个员工可以参加了一个或多个培训课程、一个培训课程也可以有多个员工参加。

他们关系也为多对多关系

一个培训机构有一门或多门培训课程、一门培训课程一定且必须属于一个培训机构,所以培训机构对培训课程实体为一对多关系。

又培训机构根据业务规则最少要有一门培训课程,所以培训机构对培训课程实体最小基数为一。

一个员工考核必须且一定来自一个培训机构、一个培训机构可以有一个或多个员工考核。

所以培训机构对员工考核实体为一对多关系。

又一个培训机构一定有员工考核信息,所以培训机构对员工考核实体最小基数为一。

11员工实体、员工单位信息实体、招聘项目实体、应聘人实体、面试实体和应聘通过实体类图

(1)招聘项目实体

招聘项目实体包含了公司的需求,它包括招聘项目名称、目标、开始和结束日期等属性。

(2)应聘人实体

应聘人实体是记录应聘人的相关信息,它包括应聘人的基本信息和学历等信息。

(3)面试实体

面试信息是通过记录应聘人在本公司应聘的内容的实体。

(4)应聘通过实体

应聘通过信息记录了应聘人通过应聘面试的信息,通过应聘后就可以成为本公司的成员。

(5)员工实体、员工单位信息实体、招聘项目实体、应聘人实体、面试实体和应聘通过实体的关联。

一个应聘人可能有一个应聘通过信息,一份应聘通过信息一定属于一个人,所以聘人实体对应聘通过实体应为一对一关系。

又一个应聘人可能没有应聘通过,一个应聘通过必属于一个人,即最小基数分别为零、一。

一个应聘人一定且只有一个面试信息,一个面试信息一定有一个人应聘。

所以应聘人实体对面试实体为一对一关系且最小基数都为一。

一个应聘人到一个公司只能且必须应聘一个项目,招聘项目可以招聘多个应聘人。

所以招聘项目实体对应聘人实体为一对多关系。

又一个招聘项目最少要招聘一个应聘人,所以招聘项目实体对应聘人实体最小基数为一。

一个员工可能有一个或多个应聘人,一个应聘人不一定通过应聘,所以员工实体对应聘人实体为一对多关.且应聘人对员工最小基数为零。

又根据业务规则,员工可能没参加应聘进入公司,所以员工对应聘人实体最小基数为零。

一个应聘通过有一份或多份面试信息,一份面试信息可能有一份应聘通过,所以应聘通过对面试实体为一对多关系。

又面试不一定能通过,所以最小基数为零。

12员工实体、员工单位信息实体、员工全月考勤实体和员工日常考勤类图

(1)员工全月考勤实体

员工全月考勤实体包括员工假期、迟到等员工日常基本活动属性,它是员工日常考勤属性的汇总。

(2)员工日常考勤实体

员工日常考勤实体包括考勤时间和项目值等属性。

(3)员工实体、员工部门实体、员工考勤项目实体、员工全月考勤实体和员工日常考勤实体的关联。

一个员工可以有一个或多个员工全月考勤,一个全月考勤只能属于一个员工,所以员工实体对员工全月考勤实体为一对多的关系。

一个员工一定有考勤月数,所以最小基数为一。

一个员工可以有一个或多个日常考勤,一个日常考勤必定属于一个员工,所以员工实体对员工日常考勤实体为一对多的关系。

根据业务规则,一个员工肯定会有迟到、请假等情况,所以员工实体对员工日常考勤实体最小基数为一。

一个全月考勤有一个或多个日常考勤信息,一个日常考勤一定且只属于一个全月考勤,所以员工全月考勤实体对员工日常考勤实体为一对多的关系。

13高校人力资源数据库管理总类图

五数据库设计

1、以上E-R图模型转化为表间联系。

(1)员工日常考勤(日常考勤编号、日常考勤项目、日常考勤时间、考勤项目值、考勤备注、全月考勤编号、员工编号);

(2)员工全月考勤(全月考勤编号、应出勤天数、迟到次数、早退次数、迟到和早退总数、矿工天数、病假天数、休假天数、婚假天数、产假天数、丧假天数、倒休天数、未出勤天数、工作加班时数、周末加班时数、节假日加班时数、加班总时数、实际出勤天数、员工编号);

(3)员工离职(离职编号、离职类型、离职说明、离职时间、员工编号)、

(4)培训课程(课程编号、课程名称、课程形式、主办部门、课程开课时间、课程结束时间、课程费用、课程备注、机构编号);

(5)员工奖惩(奖惩编号、奖惩日期、奖惩属性、奖惩金额、奖惩项目、奖惩备注、工资月份、员工编号);

(6)员工学习经历(员工学习经历编号、学习所在院校名称、学习院校地址、学习开始时间、学习结束时间、员工曾任班干、学习备注、员工所学专业、员工编号);

(7)员工复职(复职编号、复职类型、复职说明、复职时间、离职编号、员工编号);

(8)员工单位信息(员工单位编号、员工工种、员工所在部门、员工行政等级、员工职务、员工职称、员工调入时间、员工本单位工龄、员工登记时间、员工简历、员工编号);

(9)培训机构(机构编号、机构名称、机构类型、机构电话、机构传真、机构网站、机构地址、机构联系人姓名、机构联系人电话、机构联系人Email、机构备注);

(10)招聘项目(招聘项目编号、招聘项目目标、招聘项目名称、项目需求数量、招聘确立时间、招聘开始时间、招聘结束时间、招聘项目备注、需求部门、招聘渠道);

(11)员工合同(员工合同编号、合同名称、合同类型、合同属性、签约时间、试用生效时间、试用月数、是否转正、失效时间、生效时间、合同状态、合同备注、员工编号);

(12)员工(员工编号、员工工号、员工身份证号、员工姓名、员工出生年月、员工民族、员工婚姻状况、员工籍贯、员工政治面貌、员工联系电话、员工电子邮箱);

(13)员工调动(员工调动编号、新部门名称、新行政等级、新职务、新职称、调动类型、调动说明、调动批准人、员工编号);

(14)应聘人(应聘人编号、应聘人英文名、应聘人性别、应聘人身份证、应聘人出生年月、应聘人民族、应聘人籍贯、应聘人婚姻状况、应聘人政治面貌、应聘人联系电话、应聘人电子邮箱、应聘人手机号码、应聘人其他联系、应聘人毕业院校、应聘人专业、应聘人文化程度、应聘人特长、招聘项目编号、员工编号);

(15)面试(面试编号、面试结果、面试内容、面试领导、面试备注、面试时间、应聘人编号);

(16)应聘通过(应聘通过编号、应聘审批人、应聘审批时间、应聘生效时间、面试编号、应聘人编号);

(17)员工考核(考核编号、考核等级、考核成绩、考核评论、考核备注、记录时间、工资月份、机构编号、员工编号);

(18)员工家庭成员(成员编号、成员和本人关系、成员出生日期、成员政治面貌、成员工作单位、成员担任职务、成员联系方式、成员备注、员工编号);

(19)员工劳动技能(劳动技能编号、技能级别、技能名称、技能备注);

(20)员工工作经历(工作经历编号、开始时间、结束时间、员工工作单位、工作内容、离职原因、员工编号);

2、在分析了实体各自关系和函数依赖等问题后,发现有如下即点问题需要阐明。

(1)在培训机构信息表、应聘人信息表、家庭成员信息表和员工信息表中都出现了同样的一个问题。

一个人可能有多个电话号码,也可能有多个电子邮箱,这就不满足范式要求了。

但在本数据库中,我们有前提条件假设,即当培训机构、应聘人、家庭成员登记个人信息时、只要求填写一个电话号和一个电子邮箱,不需要填写所有的电话号和电子邮箱。

这样的前提条件则是的这四个表的设计满足了第四范式的要求。

(2)第二个问题是,在员工信息和应聘人信息的属性中,姓名和性别等一些个人属性完全依赖于身份证号,员工表中员工工号也可以完全决定员工姓名等属性,而身份证号和员工号又是非主属性,则不满足范式的要求。

但在实际情况中,公司管理人查看员工和应聘人信息时,应该马上就能得知其身份证号,用以确定其可靠性。

因为虽然其没有满足范式要求,但出于实际考虑,也为提高管理者的查询和管理效率,还是将身份证号放入这三个表中。

在员工表中,员工工号代表在公司的一种存在,所以员工工号也放入员工表中。

(3)第三个问题是,在员工奖惩、员工考核和员工日常考勤的三个没有联系的表中都出现了工资月份属性,这样会导致数据冗余和更新数据异常、不一致问题的情况。

解决的方法是运用SQL语言中Select查询语句的Distinct关键字,该关键字的使用能够在查询结果集中除去重复的行(即冗余数据),根据此思路可以形成一个没有冗余数据的结果表。

3、设置数据约束

(1)CHECK约束(使其填写数据格式和内容满足CHECK约束):

员工合同是否转正:

是、否;婚姻状况:

是、否;电话号码和手机号码为数字等。

(2)默认值约束:

默认值不可乱设置,容易造成严重的错误,所以我将性别默认值设为“男”。

(3)有效性约束:

将int型(除了自动编号)属性的数值范围做出了规定。

如:

员工的奖惩金额应该大于零,员工本单位工龄应该是0到40之间等。

(4)主键和外键约束:

在每个实体中必须有一个主键,且或有外键的需要,具体设置在数据库实现部分进行说明。

六、数据库实现

1)表1员工信息表

字段名称

数据类型

索引

空值

其它

员工编号

int

有(无重复)

主键

员工工号

int

员工姓名

char(10)

员工身份证号

char(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

有效性规则:

between0and40

员工登记时间

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)图4员工日常考勤

字段名称

数据类型

索引

空值

其它

日常考勤编号

int

有(无重复)

主键

日常考勤项目

char(20)

日常考勤时间

datetime

全月考勤编号

int

有(有重复)

外键

工资月份

datetime

员工编号

int

有(有重复)

外键

员工日常考勤在数据库中的实现如图所示:

5)图5员工离职

字段名称

数据类型

索引

空值

其它

离职编号

int

有(无重复)

主键

离职类型

char(20)

离职说明

char(90)

离职时间

datetime

员工编号

int

有(有重复)

外键

员工离职在数据库中的实现如图所示:

6)图6员工复职

字段名称

数据类型

索引

空值

其它

复职编号

int

有(无重复)

主键

复职类型

char(20)

复职说明

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

有(无重复)

主键

奖惩日期

datetime

奖惩属性

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

有(有重复)

外键

员工学习经历在数据库中的实现如图所示:

10)图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1