人事管理系统的数据库设计.docx
- 文档编号:12655359
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:27
- 大小:192.36KB
人事管理系统的数据库设计.docx
《人事管理系统的数据库设计.docx》由会员分享,可在线阅读,更多相关《人事管理系统的数据库设计.docx(27页珍藏版)》请在冰豆网上搜索。
人事管理系统的数据库设计
东方学院
实验(实训)报告
项目名称人事管理系统数据库分析与设计
所属课程名称数据库原理及应用
项目类型设计、综合型
实验(实训)日期
班级信息1班
学号082040
姓名陈文军潘炜剑
指导教师严素蓉
人事管理系统的数据库设计
1需求分析
功能与信息要求
通过对现行人事管理系统的调查,明确了人事管理系统由档案管理、职务调动管理、奖惩管理、考勤管理、工资管理、请销假管理组成。
系统功能的主要描述如下。
(1)员工档案管理
1)对公司里所有员工进行统一编号;将每一位员工的信息保存在员工档案记录中。
2)对新聘用的员工,将其信息加入到员工档案记录中;对于解聘的员工,将其信息从员工档案记录中删除。
3)当员工的信息发生变动时,修改员工档案记录中相应的属性。
(2)员工职务调动管理
对公司里所有员工的职务记录进行统一编号;登记员工调动前后的具体职务,以及调动时间。
(3)奖惩管理
对公司里所有员工的奖惩记录进行统一编号;登记员工奖惩的原因,所受奖惩类型,奖惩时间。
(4)考勤管理
1)对员工上班刷卡的记录进行统一编号;登记员工上班时间、签到类型(准时、迟到)。
2)对员工下班刷卡的记录进行统一编号;登记员工上班时间、签到类型(准时、早退)。
(5)请销假管理
1)对员工请假的记录进行统一编号;登记员工请假时间、请假类型。
2)对员工销假的记录进行统一编号;登记员工销假时间、请假类型,检查是否超期。
(6)工资管理
1)对公司里所有员工的工资记录进行统一编号,建立工资记录表。
(7)部门管理
1)对公司所有的部门进行编号,建立部门记录。
安全性与完整性要求
安全与保密要求:
此系统可以分为用户和管理员,用户可以浏览自己的个人信息,但不能修改自己的信息,凡要修改都需通过管理员去修改。
管理员主要管理系统的各种信息。
目标:
在于开发一个功能使用、操作方便,简单明了的人事管理系统。
再设计出功能强大的软件的同时,尽可能地减少对系统资源的占用,并且还要力求做到通过使用本系统,尽量使单位的人事管理工作系统化、自动化和规范化,从而达到提高企、事业单位管理效率的目的,同时也希望此次工程加强我们自身的小组协作意识,加深程序设计思想,同时要学习工程设计思想,再技术和软件工程思想上同时得到锻炼和提高。
人事管理信息系统,在实际工作中得到了广泛的应用,它对企事业单位的人力资源进行有效的管理,提高了管理的效率。
本系统的技术完备、成熟,经济效益合理,满足安全真实的企业人事管理信息系统要求。
1规范企业管理,实现对全公司人事管理的实时监控。
2实现对每名员工个人业绩的考核。
3实现较完善的人事管理体系。
4为企业领导决策提供依据。
5系统符合实际生产需求,人机界面友好、操作简便。
系统数据流程图
经过详细的调查,弄清了系统现行的业务流程。
在此基础上,构造出系统的逻辑模型,并通过数据流程图表示。
人事管理系统的顶层数据流程图如图1所示。
图1
注:
图中虚线表示的数据流是员工信息。
在人事管理系统顶层流程图中,“请假管理”和“出勤管理”两个处理框所表示的功能不是很具体,需对他们进一步细化。
请假管理细化流程图如图2所示。
图2
出勤管理细化流程图如图3所示。
图3
最终,经过整理后得出细化后的系统数据流程图。
如图4所示。
图4
系统数据字典
人事管理系统数据流程图中,数据信息和处理过程还需要通过数据字典来描述。
在本文的数据字典中,主要对数据流图中的数据流、数据存储和处理过程进行说明。
(1)主要的数据流定义
1)数据流名称:
员工情况
位置:
员工→P1。
定义:
员工情况=姓名+性别+出生日期+民族+学历+职称。
数据流量:
根据公司的员工具体录用情况来确定。
说明:
要对每一位被聘用的新员工进行唯一编号。
2)数据流名称:
奖惩情况
位置:
P3→员工
定义:
奖惩情况=员工流水号+奖惩类型+奖惩金额+奖惩年月日。
数据流量:
根据公司的具体情况来确定。
说明:
要对每一次的奖惩记录进行唯一编号。
3)数据流名称:
奖惩批复
位置:
上级→P3
定义:
奖惩批复=奖惩类型+批复部门号+批复原因+批复日期。
数据流量:
根据公司的具体情况来确定。
说明:
具体应用中,批复原因可以省略。
4)数据流名称:
调动情况
位置:
P5→员工
定义:
调动情况=员工号+调动前职务+调动后职务+调动日期。
数据流量:
根据公司的具体情况来确定。
说明:
员工号和调动日期可以唯一确定一个调动情况。
5)数据流名称:
调动批复
位置:
上级→P5
定义:
调动批复=批复部门号+批复原因+批复日期。
数据流量:
根据公司的具体情况来确定。
说明:
批复原因可以省略。
6)数据流名称:
上班刷卡
位置:
员工→
定义:
上班刷卡=员工号+上班刷卡时间+刷卡机号。
数据流量:
根据公司的具体规模情况来确定。
说明:
上班刷卡时间会汇入到出勤记录中。
7)数据流名称:
下班刷卡
位置:
员工→
定义:
下班刷卡=员工号+下班刷卡时间+刷卡机号。
数据流量:
根据公司的具体情况来确定。
说明:
下班刷卡时间会汇入到出勤记录中。
8)数据流名称:
工资查询
位置:
P4→员工
定义:
工资查询=员工号+基本工资+奖金+罚款+超始时间+截止时间+发薪日期。
数据流量:
根据公司的具体情况来确定。
说明:
根据员工号和发薪日期可以唯一确定一个工资记录。
9)数据流名称:
请假申请
位置:
员工→
定义:
请假申请=员工号+请假时间+请假天数。
数据流量:
根据公司的具体情况来确定。
说明:
员工号和请假时间可以唯一确定一个请假记录。
10)数据流名称:
请假批复
位置:
上级→
定义:
请假批复=审批人+批复结果。
数据流量:
根据公司的具体情况来确定。
说明:
批复结果的类型只能是(批准、拒绝)。
11)数据流名称:
销假申请
位置:
员工→
定义:
销假申请=员工号+销假时间。
数据流量:
根据公司的具体情况来确定。
说明:
针对销假申请没用单独建立销假记录表,在这里将销假记录和请假记录进行了合并。
因为在一般情况下,请假是不能够进行嵌套的。
12)数据流名称:
管理员情况
位置:
管理员→P6
定义:
用户身份=员工编号。
数据流量:
根据公司的具体情况来确定。
说明:
要对每一位管理员建立唯一的账号。
13)数据流名称:
用户身份
位置:
安全管理→{P1,,,P3,P4,P5,,}
定义:
用户身份=[非法用户|内部管理员|服务管理员]
数据流量:
根据公司的具体情况来确定。
说明:
不同的用户身份对应不同的操作权限,对应着不同的安全级别。
14)数据流名称:
部门情况
位置:
上级→部门情况
定义:
部门情况=部门号+部门名称+领导人号
数据流量:
根据公司的具体情况来确定。
说明:
部门号是主码。
(2)主要的数据存储定义
1)数据存储编号:
员工记录D1
输入:
P1
输出:
P1,,,,
数据结构:
员工记录=姓名+性别+出生日期+民族+学历+职称+员工编号。
数据量和存取频度:
根据公司的具体规模情况来确定。
存取方式:
联机处理;检索和更新;以随机检索为主。
说明:
员工编号具有唯一性和非空性;性别只能是男或女;主码是员工编号。
2)数据存储编号:
请假记录D2
输入:
,
输出:
,
数据结构:
请假记录=员工号+请假时间+请假天数+销假时间。
数据量和存取频度:
根据公司的具体规模情况来确定。
存取方式:
联机处理;检索和更新;以更新操作为主。
说明:
主码设为请假时间和员工号;员工号是外码,参照表是员工记录。
3)数据存储编号:
奖惩记录D3
输入:
P3
输出:
P3
数据结构:
奖惩记录=员工流水号+奖惩类型+奖惩金额+奖惩时间+批复部门号+批复原因+批复日期。
数据量和存取频度:
根据公司的具体规模情况来确定。
存取方式:
联机处理;检索和更新;以更新操作为主。
说明:
主码设为奖惩时间和员工号;员工号是外码,参照表是员工记录。
4)数据存储编号:
工资记录D4
输入:
P4
输出:
P4
数据结构:
工资记录=员工号+基本工资+奖金+罚款+超始时间+截止时间+发薪日期。
数据量和存取频度:
根据公司的具体规模情况来确定。
存取方式:
联机处理;检索和更新;以更新操作为主。
说明:
主码设为发薪日期和员工号;员工号是外码,参照表是员工记录。
5)数据存储编号:
职务调动记录D5
输入:
P5
输出:
P5
数据结构:
职务调动记录=员工号+调动前职务+调动后职务+调动日期+批复部门号+批复原因+批复日期。
数据量和存取频度:
根据公司的具体规模情况来确定。
存取方式:
联机处理;检索和更新;以更新操作为主。
说明:
主码设为调动日期和员工号;员工号是外码,参照表是员工记录。
6)数据存储编号:
管理人员记录D6
输入:
P6
输出:
P6
数据结构:
管理人员记录=用户密码+职工号+密码+管理员账号。
数据量和存取频度:
根据公司的具体规模情况来确定。
存取方式:
联机处理;检索和更新;以更新操作为主。
说明:
主码设为管理员账号。
7)数据存储编号:
出勤记录D7
输入:
,
输出:
,
数据结构:
出勤记录=员工号+上班刷卡时间+下班刷卡时间+刷卡日期。
数据量和存取频度:
根据公司的具体规模情况来确定。
存取方式:
联机处理;检索和更新;以更新操作为主。
说明:
主码设为员工号和刷卡日期;员工号是外码,参照表是员工记录。
8)数据存储编号:
部门记录D8
输入:
P8
输出:
P8
数据结构:
部门记录=部门号+部门名称+领导人号。
数据量和存取频度:
根据公司的具体规模情况来确定。
存取方式:
联机处理;检索和更新;以检索操作为主。
说明:
主码设为部门号。
(3)主要的处理过程
1)处理过程编号:
P1
处理过程名:
档案管理
输入:
用户身份,员工记录,员工情况
输出:
员工记录
处理说明:
根据员工的聘用、解聘建立或删除员工记录,以及在后续的过程中,以管理员身份对员工的记录进行修改。
2)处理过程编号:
处理过程名:
销假管理
输入:
销假申请,请假批复,用户身份,员工记录,销假记录
输出:
请假记录
处理说明:
根据员工的销假申请,把销假时间录入到相应的请假记录中。
3)处理过程编号:
处理过程名:
请假管理
输入:
请假申请,请假批复,用户身份,员工记录,请假记录
输出:
请假记录
处理说明:
根据员工的请假申请和批复情况,进行请假表的登记。
4)处理过程编号:
P3
处理过程名:
奖惩管理
输入:
用户身份,奖惩批复,奖惩记录
输出:
奖惩记录,奖惩情况
处理说明:
根据奖惩批复的要求对员工进行相应的惩处,并对惩处进行记录。
5)处理过程编号:
P4
处理过程名:
工资管理
输入:
用户身份,工资记录
输出:
工资记录,工资查询
处理说明:
根据员工目前的工资情况,进行调薪的操作。
6)处理过程编号:
P5
处理过程名:
调动管理
输入:
调动批复,用户身份,职务调动记录
输出:
职务调动记录,调动情况
处理说明:
根据调动批复的内容,更改员工的职务信息,并对调动情况进行记录。
7)处理过程编号:
P6
处理过程名:
安全管理
输入:
管理员情况
输出:
D6,P1,,,P3,P4,P5,,
处理说明:
建立管理人员记录表;通过用户名和口令,确认用户身份,保证系统安全性。
8)处理过程编号:
处理过程名:
上班管理
输入:
上班刷卡,用户身份,员工记录,出勤记录
输出:
出勤记录
处理说明:
根据输入的员工号信息,记录上班时间,并判断是否迟到。
9)处理过程编号:
处理过程名:
下班管理
输入:
下班刷卡,用户身份,员工记录,出勤记录
输出:
出勤记录
处理说明:
根据输入的员工号信息,记录下班时间,并判断是否早退。
10)处理过程编号:
P8
处理过程名:
部门管理
输入:
部门情况,部门记录
输出:
部门记录
处理说明:
根据上级的调度,对现在公司的部门进行领导人的调换,或者是增加或删除某一部门。
2数据库结构设计
概念结构设计
根据系统需求分析,可以得出人事管理系统数据库的概念模型(信息模型),图5是用E-R图表示的人事管理系统的概念模型。
最后,对设计出的数据模型进行规范化处理,使数据模型满足第三范式。
逻辑结构设计
将人事管理系统的E-R图转换为关系数据库的数据模型,其关系模式为:
1)员工档案(员工编号+姓名+性别+出生日期+民族+学历+职称+部门号),其中员工编号为主码,部门号为外码;
2)管理员记录(管理员账号,员工编号,密码,级别),其中管理员账号为主码,员工编号为外码;
3)请假记录(请假编号+员工编号+请假时间+请假天数+销假时间+审批领导号+批复结果)
请假编号为主码,其中员工编号外码。
4)奖惩记录(奖惩编号+员工编号+奖惩类型+奖惩金额+奖惩日期+批复部门号+批复原因+
批复日期),奖惩编号为主码,其中员工编号和批复部门号为外码;
5)职务调动记录(调动编号+员工编号+调动前职务+调动后职务+调动日期+批复部门号+批复原因+批复日期),调动编号为主码,其中员工编号和批复部门号为外码;
6)出勤记录(出勤编号+员工号+上班刷卡时间+下班刷卡时间+刷卡日期),出勤编号为主码,员工号为外码;
7)工资记录(工资编号+员工号+基本工资+奖金+罚款+起始时间+截止时间+发薪日期),工资编号为主码,员工号为外码。
8)部门记录(部门编号+名称+领导人号),部门编号为主码。
9)刷卡机记录(刷卡机号)。
将人事管理系统定名为“人事管理系统”。
各实体的分E-R图,如图A,B,C所示:
A)员工实体图
B)部门实体图
C)管理人员实体图
D)刷卡机实体图
全局E-R图,如图E所示:
E)各实体间的联系图
数据库结构的详细设计
经过检查,此数据库的详细逻辑设计满足第3范式的要求。
人事管理系统中各表的属性设计情况如下表1:
表名
属性名
数据类型
长度
允许空
主码或索引
约束条件
部门
部门号
Char
4
No
主码
部门名
Char
10
No
领导人号
Char
4
No
索引、外码
值为职工编号
管理人员
管理员账号
Char
4
No
主码
职工编号
Char
4
No
外码
密码
Char
6
No
输入时不显示
级别
Char
4
No
“管理员”或“系统管理员”
刷卡机
刷卡机号
Char
4
No
主码
员工
员工编号
Char
4
No
主码
姓名
Char
10
No
学历
VarChar
8
No
索引项
性别
Char
2
“男”或“女”
出生日期
Datetime
索引项
身份证号
VarChar
32
No
民族
VarChar
16
职称
VarChar
10
部门号
Char
4
外码
出勤号
Char
6
No
主码
出勤
员工编号
Char
4
No
外码
上班日期
Datetime
No
索引
上班时间
Datetime
下班时间
Datetime
No
刷卡机号
Char
4
No
外码
工资编号
Char
6
No
主码
工资
员工编号
Char
4
No
外码
基本工资
Money
No
索引
罚款
Money
起始时间
Datetime
截止时间
Datetime
发薪日期
Datetime
No
索引
调动编号
Char
6
No
主码
职务调动
员工编号
Char
4
No
外码
调动前职务
VarChar
10
No
索引项
调动后职务
VarChar
10
No
调动部门号
Char
4
外码
调动日期
Datetime
值为员工调动日期
批复日期
Datetime
值为领导批复日期
调动原因
VarChar
50
奖惩编号
Char
6
No
主码
奖惩记录
员工编号
Char
4
No
外码
奖惩类型
Char
4
No
索引项
奖惩金额
Money
奖惩日期
Datetime
值为员工受奖惩日期
批复部门号
Char
4
外码
批复日期
Datetime
No
值为领导批复日期
奖惩原因
VarChar
50
请假编号
Char
6
No
主码
请假记录
员工编号
Char
5
No
外码
请假时间
Datetime
No
值为假期开始日期
销假时间
Datetime
No
值为假期结束日期
请假天数
int
索引项
审批人编号
Char
4
索引项
值为职工编号
表1
3物理设计
数据库物理设计原理
数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库系统确定合理的存储结构和存取方法。
所谓的“合理”主要有两个含义:
一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。
主要体现在后者。
(1)建立索引:
①对表部门在属性列领导人号上建立非聚集索引,
②对表员工在属性列出生日期上建立非聚集索引,在属性列学历上建立非聚集索引
③对表出勤在属性列上班日期上建立非聚集索引
④对表工资在属性列基本工资上建立非聚集索引
⑤对表职务调动在属性列调动前职务上建立非聚集索引。
⑥对表奖惩记录在属性列奖惩类型上建立非聚集索引。
⑦对表请假记录在属性列“请假天数”上建立非聚集索引,在属性列“审批人编号”上建立非聚集索引。
(2)存储结构
确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。
将日志文件和数据库对象(表、索引等)分别放在不同的磁盘,可以改进系统的性能,提高系统的安全性。
所以,系统应将日志文件和数据文件存放在不同磁盘上。
数据库的建立
具体SQL代码如下:
createtable部门
(
部门号Char(4)primarykey,
部门名Char(10)notnull,
领导人号Char(4)notnull,
)
createtable管理人员
(
管理员账号char(4)primarykey,
职工编号Char(4)notnull,
密码Char(6)notnull,
级别Char(4)check(级别in('管理员','系统管理员')),
foreignkey(职工编号)references员工(员工编号)
)
createtable刷卡机
(刷卡机号Char(4)primarykey
)
createtable员工
(
员工编号Char(4)primarykey,
姓名Char(10)notnull,
性别Char
(2)check(性别in('男','女')),
出生日期datetime,
学历VarChar(32)notnull,
身份证号VarChar(32)notnull,
民族VarChar(16)notnull,
职称Char(10),
部门号char(4),
)
createtable出勤
(
出勤号Char(6)primarykey,
员工编号Char(4)notnull,
上班日期datetimenotnull,
上班时间datetimenotnull,
下班时间datetimenotnull,
刷卡机号Char(4),
foreignkey(刷卡机号)references刷卡机(刷卡机号),
foreignkey(员工编号)references员工(员工编号)
)
createtable工资
(
工资编号Char(6)primarykey,
员工编号Char(4)notnull,
基本工资moneynotnull,
罚款money,
起始时间Datetime,
截止时间Datetime,
发薪日期Datetime,
foreignkey(员工编号)references员工(员工编号)
)
createtable职务调动
(
调动编号Char(6)notnullprimarykey,
员工编号Char(4)notnull,
调动前职务Char(10),
调动后职务Char(10),
调动部门号Char(4)notnull,
调动日期Datetime,
批复日期Datetime,
调动原因VarChar(50),
foreignkey(员工编号)references员工(员工编号),
foreignkey(调动部门号)references部门(部门号)
)
createtable奖惩记录
(
奖惩编号Char(6)notnullprimarykey,
员工编号Char(4)notnull,
奖惩类型Char(4),
奖惩金额money,
奖惩日期Datetime,
批复部门号Char(4),
批复日期Datetime,
奖惩原因VarChar(50),
foreignkey(员工编号)references员工(员工编号),
foreignkey(批复部门号)references部门(部门号)
)
createtable请假记录
(
请假编号Char(6)notnullprimarykey,
员工编号Char(4)notnull,
请假时间Datetime,
销假时间datetime,
请假天数int,
审批人编号Char(4),
foreignkey(员工编号)references员工(员工编号)
)
/*索引的建立*/
createindex部门_领导人号_indexon部门(领导人号)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人事管理系统 数据库 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)