某单位人事管理组织系统.docx
《某单位人事管理组织系统.docx》由会员分享,可在线阅读,更多相关《某单位人事管理组织系统.docx(41页珍藏版)》请在冰豆网上搜索。
某单位人事管理组织系统
《数据库系统》课程实践任务报告
任务名称;某单位人事管理系统
班
级:
2013计科本
学
号:
38241313115
姓
名:
陈雄
学
号:
38241313122
姓
名:
汪磊
完成
日期:
2015年6月30日
信息工程学院计算机系
任务名称
1.任务的描述
人事管理系统是非常通用的管理信息系统,是企事业单位实现办公自动化的前提和基础。
一个公司要正常运作必定有一个健全的人事管理系统,来管理员工的信息,包括员工编号、姓名、性别、民族工资及奖惩考勤情况。
除此之外,系统还供员工查询个人和公共信息,管理员对员工信息进行更改或删除,管理公司的人事变更和管理,大大提高公司内部员工管理的工作效率,并要求实现以下功能。
1.员工信息管理:
实现记录在该单位中所有人员的在该单位的员工信息,实现对员工信
息的管理,也包括对员工信息的增加、删除、修改等功能。
2.部门信息管理:
实现对该单位中的各个部门的编号、部门相关信息的统计,此时也将单位中的所有人员进行分类管理。
3.职位调动管理:
实现当员工的就职信息发生更改的时候,系统进行相应关联信息的更
改,即增加相应的修改信息的同时,员工的信息管理中的对应信息进行修改。
4.系统管理人员信息管理:
实现对相应的系统管理人员的帐号、密码等基本信息的管理功能。
5.出勤信息管理:
实现对每一位员工的出勤状况的记录,记录对应的出勤刷卡机号以及出勤时间的信息管理。
6.奖惩管理:
实现针对于不同的奖惩类型、奖惩金额等信息的管理,实现输入奖惩信息的修改相应的工资信息。
7.工资管理:
实现各个员工工资条目信息的管理。
2.需求分析
本系统主要包括的外部实体有:
员工、部门、员工职位调动等,要实现的功能主要有:
员工、部门、员工职位调动、管理人员信息管理、出勤信息、工资、奖惩等信息管理。
2.1系统包含的实体
1、员工(员工编号,姓名,性别,出生日期,学历,身份证号,民族,职称,部门号,
职务)
2、个人经历(年份,员工编号,学习经历,任职经历)
3、家庭关系(关系编号,员工编号,亲属关系,亲属姓名)
4、管理人员(管理员帐号,职工编号,密码,级别)
5、出勤(出勤号,员工编号,上班日期,上班时间,下班时间,刷卡机号)
6、刷卡机(刷卡机号)
7、部门(部门号,部门名,领导人员,员工人数)
8、职位调动(调动编号,员工编号,调动前职务,调动后职务,调动前部门号,调动后部门号,调动日期,批复日期,调动原因)
9、奖惩记录(奖惩编号,员工编号,奖惩类型,奖惩金额,奖惩日期,批复部门号,批复日期,奖惩原因)
10、请假记录(请假编号,员工编号,请假时间,销假时间,请假天数,审批人编号)
11、工资(工资编号,员工编号,基本工资,罚款,奖金,结算工资,起始日期,截止日期,发信日期)
2.2系统包含的实体间联系
根据“任务描述”中提供某单位人事管理系统信息的实际情况,本系统中实体之间应具有如下的联系:
属于部门:
部门fi员工,包含属性。
类型:
一对多。
属于家庭:
家庭fi员工,不包含属性。
类型:
一对一。
关于管理员:
管理员fi员工,不包含属性。
类型:
一对多
关于出勤:
员工fi出勤,不包含属性。
类型:
一对多
属于部门:
部门fi职位调动,不包含属性。
类型:
一对多
2.3系统需实现的功能
根据“任务描述”中提供的信息以及本学校的实际情况,本系统需具有如下的功能:
1、对本系统中具有的实体及实体间联系的信息的存储;
2、具有如下的静态查询:
1)对员工、部门、家庭情况、管理人员、奖惩记录、请假记录、工资等信息的查询(用视图实现)
2)对员工出勤情况整体的查询(用视图实现)
3)对员工奖惩记录情况整体的查询(有视图实现)
4)对员工请假记录整体的查询(用视图实现)
5)对员工工资整体查询(用视图实现)
3、具有如下的动态查询
1)给定员工,查询该员工总的工资、每月的工资。
2)给定部门号,查询该部门总的工资金额、每月的工资金额
3)给定员工,查询该员工总的奖惩金额、每月的奖惩金额
2.4数据字典
数据字典名:
员工
表示对象:
员工实体
数据结构:
员工编号(char)+姓名(char)+性别(char)+出生日期(datetime)+学号(varchar)+身份证号(varchar)+民族(varchar)+职称(char)+咅部门号(char)+职务(char)
数据字典名:
个人经历
表示对象:
个人经历实体
数据结构:
年份(datetime)+员工编号(char)+学习经历(varchar)+任职经历
(varchar)
数据字典名:
部门
表示对象:
部门实体
数据结构:
部门号(char)+部门名(char)+领导人员(char)+员工人数
(int)
表示对象:
家庭关系实体
数据结构:
关系编号(char)+员工编号(char)+亲属关系(char)+亲属姓名(char)
数据字典名:
职位调动
表示对象:
职位调动实体
数据结构:
调动编号(char)+员工编号(char)+调动前职务(char)+调动后职务(char)+调动前部门号(char)+调动后部门号(char)+调动日期(datatime)+批复日期(datatime)+调动日期(varchar)
数据字典名:
出勤
表示对象:
出勤实体
数据结构:
出勤号(char)+员工编号(char)+上班日期(datatime)+下班时间
(datatime)+刷卡机号(char)
数据字典名:
管理人员
表示对象:
管理人员实体
数据结构:
管理人员帐号(char)+职工编号(char)+密码(char)+级别(char)
数据字典名:
刷卡机
表示对象:
刷卡机实体
数据结构:
刷卡机号(char)
数据字典名:
奖惩记录
表示对象:
奖惩记录实体
数据结构:
奖惩编号(char)+员工编号(char)+奖惩类型(char)+奖惩金额(char)+奖惩日期(datatime)+批复部门号(char)+批复日期(datatime)+奖惩原因(varchar)
数据字典名:
工资
表示对象:
工资实体
数据结构:
工资编号(char)+员工编号(char)+基本工资(money)+罚款(money)+奖金(money)+结算工资(money)+起始时间(datatime)+截止时间(datatime)+发信时间(datatime)
数据字典名:
请假记录
表示对象:
请假记录实体
数据结构:
请假编号(char)+员工编号(char)+请假时间(datatime)+销假时间
(datatime)+请假天数(int)+审批人编号(char)
3.数据库概念数据模型设计
管理人员
管理员帐号Characters(4)
职工编号Characters(4)
密码Characters(6)
级另UCharacters(4)
Identifier1~
豕庭关糸
关糸编号员工编号3亲属关系亲属姓名
Characters(10)Characters(4)Characters(50)Characters(10)
Identifier_1
年份
学习经历任职经历员工编号3
Date&Time
Variablecharacters(50)
Variablecharacters(50)
Characters(4)
Identifier_1
i
—
个人经历
信息
属于
员工
员工编号1
Characters(4)
姓名
Characters(10)
性别
Characters
(2)
出生日期
Date&Time
学历
Variablecharacters(32)
身份证号
Variablecharacters(32)
民族
Variablecharacters(16)
职称
Characters(10)
职务
Characters(4)
部门号1
Characters(4)
Identifier_1
拥有
请假记录
请假编号
Characters(6)
员工编号3
Characters(4)
请假时间
Date&Time
销假时间
Date&Time
请假天数
Integer
审批人编号
Characters(4)
Identifier_1
请假
从出勤
出勤
出勤号
Characters(6)
员工编号3
Characters(4)
上班日期
Date&Time
上班时间
Date&Time
下班时间
Date&Time
刷卡机号1
Characters(4)
Identifier1
刷卡
奖惩记录
奖惩编号
Characters(6)
员工编号3
Characters(4)
奖惩类型
Characters(4)
奖惩金额
Money
奖惩日期
Date&Time
批复部门号
Characters(4)
批复日期
Date&Time
奖惩原因
Variablecharacters(50)
Identifier1
A
职位调动
调动编号
Characters(6)
员工编号3
Characters(4)
调动前职务
Characters(10)
调动后职务
Characters(10)
调动前部门号
Characters(4)
调动后部门号
Characters(4)
调动日期
Date&Time
批复日期
Date&Time
调动原因
Variablecharacters(50)
Identifier1
部门
依赖
部门号部门名领导人数员工人数
Identifier1
Characters(4)
Characters(4)
Characters(4)Integer
工资
工资编号
Characters(6)
员工编号3
Characters(4)
基本工资
Money
罚款
Money
奖金
Money
结算工资
Money
起始时间
Date&Time
截至时间
Date&Time
发信日期
Date&Time
Identifier1
对应
刷卡机
刷卡机号
Characters(4)
Identifier_1
4.数据库逻辑数据模型设计
#ooo
管理人员
管理员帐号职工编号密码级别
Characters(4)
Characters(4)
Characters(6)
Characters(4)
关系编号员工编号1员工编号3亲属关系亲属姓名
豕庭关系
Characters(10)
Characters(4)
Characters(4)
Characters(50)
Characters(10)
属于
■-
请假记录
#
请假编号
Characters(6)
o
员工编号3
Characters(4)
o
请假时间
Date&Time
o
销假时间
Date&Time
o
请假天数
Integer
o
审批人编号
Characters(4)
请假
奖惩
#员工编号1Characters(4)
#奖惩编号Characters⑹戸
奖惩记录
#
奖惩编号
Characters(6)
*
工资编号
Characters(6)
o
员工编号3
Characters(4)
o
奖惩类型
Characters(4)
o
奖惩金额
Money
o
奖惩日期
Date&Time
o
批复部门号
Characters(4)
o
批复日期
Date&Time
o
奖惩原因
Variablecharacters(50)
(D)
信息
惹2信
息
(D)
#
oooooooo
员工编号1管理员帐号关系编号年份姓名性别
岀生日期学历
身份证号民族职称职务部门号1
Characters(4)
Characters(4)
Characters(10)
Date&Time
Characters(10)
Characters
(2)
Date&Time
Variablecharacters(32)
Variablecharacters(32)
Variablecharacters(16)
Characters(10)
Characters(4)
Characters(4)
(D)
请假
#员工编号1Characters(4)#请假编号Characters⑹
出勤
r~
岀勤2
#
出勤号
Characters(6)
#
员工编号1
Characters(4)
ll
奖惩
ooo
-_
年份员工编号1学习经历任职经历员工编号3
—个人经历
Date&Time
Characters(4)
Variablecharacters(50)
Variablecharacters(50)
Characters(4)
(D
拥有2
拥有
.2
/
出勤
#
出勤号
Characters(6)
*
刷卡机号
Characters(4)
o
员工编号3
Characters(4)
o
上班日期
Date&Time
o
上班时间
Date&Time
\o
下班时间
Date&Time
(D)
岀勤
刷卡
(D)
服从
刷卡机
#调动编号Characters(6)
#刷卡机号Characters(4)
#员工编号1Characters(4)
*岀勤号Characters(6)
厂
服
从
工资A
职位调动
1
#
工资编号
Characters(6)
#
调动编号
Characters(6)
o
员工编号3
Characters(4)
*
部门号
Characters(4)
o
基本工资
Money
o
员工编号3
Characters(4)
o
罚款
Money
o
调动前职务
Characters(10)
o
奖金
Money
o
调动后职务
Characters(10)
o
结算工资
Money
o
调动前部门号
Characters(4)
o
起始时间
Date&Time
o
调动后部门号
Characters(4)
o
截至时间
Date&Time
o
调动日期
Date&Time
J
o
发信日期
Date&Time
'o
批复日期
Date&Time
#ooo
依赖
5.数据库物理数据模型设计
部门号部门名领导人数员工人数
部门
Characters(4)
Characters(4)
Characters(4)
Integer
个人经历—拥有_员工')
出勤_刷卡2_刷卡机')then
ifexists(select1fromsys.sysforeignkeywhererole='FK_then
altertable个人经历
deleteforeignkeyFK_个人经历_拥有—员工endif;
ifexists(select1fromsys.sysforeignkeywhererole='FK_altertable出勤
deleteforeignkeyFK_出勤_刷卡2_刷卡机
ifexists(select1fromsys.sysforeignkeywhererole='FK_
altertable出勤2
deleteforeignkeyFK_出勤2—出勤—出勤endif;
出勤2—出勤—出勤')then
ifexists(select1fromsys.sysforeignkeywhererole='FK_altertable出勤2
deleteforeignkeyFK_出勤2—出勤2—员工endif;
出勤2—出勤2_员工')then
ifexists(select1fromsys.sysforeignkeywhererole='FK_altertable刷卡机
deleteforeignkeyFK_刷卡机_刷卡—出勤
endif;
刷卡机—刷卡—出勤')then
ifexists(select1fromsys.sysforeignkeywhererole='FK_then
altertable员工
deleteforeignkeyFK_员工_信息2_家庭关系endif;
员工_信息2_家庭关系')
ifexists(select1fromsys.sysforeignkeywhererole='FK_then
altertable员工
deleteforeignkeyFK_员工—属于_管理人员
endif;
员工—属于_管理人员')
ifexists(select1fromsys.sysforeignkeywhererole='FK_then
altertable员工
deleteforeignkeyFK_员工—拥有2_个人经历
员工—拥有2_个人经历')
ifexists(select1fromsys.sysforeignkeywhererole='FK_altertable奖惩
deleteforeignkeyFK_奖惩—奖惩—员工
endif;
奖惩—奖惩—员工')then
ifexists(select1fromsys.sysforeignkeywhererole='FK_then
altertable奖惩
deleteforeignkeyFK_奖惩—奖惩2_奖惩记录endif;
奖惩—奖惩2_奖惩记录')
ifexists(select1fromsys.sysforeignkeywhererole='FK_then
altertable奖惩记录
deleteforeignkeyFK_奖惩记录_对应—工资
endif;
奖惩记录—对应_工资')
ifexists(select1fromsys.sysforeignkeywhererole='FK_then
altertable家庭关系
deleteforeignkeyFK_家庭关系_言息—员工endif;
家庭关系_信息_员工')
ifexists(select1fromsys.sysforeignkeywhererole='FK_then
altertable服从
deleteforeignkeyFK_服从—服从_职位调动
endif;
服从—服从_职位调动')
ifexists(select1fromsys.sysforeignkeywhererole='FK_altertable服从
deleteforeignkeyFK_服从—服从2—员工
服从_服从2_员工')then
endif;
ifexists(select1fromsys.sysforeignkeywhererole='FK_then
altertable职位调动
deleteforeignkeyFK_职位调动_依赖_部门endif;
职位调动一依赖_部门')
ifexists(select1fromsys.sysforeignkeywhererole='FK_altertable请假
deleteforeignkeyFK_请假_请假—员工
endif;
请假_请假—员工')then
ifexists(select1fromsys.sysforeignkeywhererole='FK_then
altertable请假
deleteforeignkeyFK_请假_请假2」青假记录
endif;
请假_请假2_请假记录')
dropindexifexists
dropindexifexists
droptableifexists
dropindexifexists
dropindexifexists
droptableifexists
个人经历.拥有_FK;
个人经历.个人经历_PK;
个人经历;
出勤.刷卡2_FK;
出勤.出勤_PK;
出勤;
dropindexifexists出勤2.出勤2_FK;
dropindexifexists
droptableifexists
dropindexifexists
dropindexifexists
droptableifexists
dropindexifexists
dropindexifexists
dropindexifexists
dropindexifexists
dro