目录
前言
1 系统概述
2 相关技术
3 系统分析
3.1需求分析
3.2数据库设计
3.2.1数据库概念模型
3.2.2数据库逻辑模型
3.2.3 数据库物理模型
4 系统功能设计
5 系统主界面
最近和同学合作完成了数据库实习,数据库题目是人事管理系统。我们做的功能比较简单,还有很多未能完善的。不过这也算是一次创新,之前做的都是网页,这一次尝试用python做GUI界面。之前没有做过GUI界面,并且这一次选用的是pyqt5库,网上资料不多,所以制作过程比较坎坷。不过磕磕绊绊还是完成了这个项目。一下是对该项目的总结
人事管理系统,属于ERP的一个部分。它单指汇集成功企业先进的人力资源管理理念、人力资源管理实践、人力资源信息化系统建设的经验,以信息技术实现对企业人力资源信息的高度集成化管理,为中国企业使用的人力资源管理解决方案。核心价值在于将人力资源工作者从繁重的日常琐碎事务中解放出来,将更多地精力用于企业的人力资源职能管理和管理决策,保持企业的持续高效运营。 集中记录、监测和分析所有劳动力的技能和资格,提供决策分析。提高企业整体的科技含量与管理效率,加快企业的信息化建设。
1.mysql
2.python
3.pyqt5
人事管理系统需要满足的基本功能如下:
1.员工管理:添加员工信息、修改员工共信息、删除员工信息、查询员工信息
2.部门管理:添加部门信息、修改部门信息、删除部门信息、查询部门信息
3.薪资管理:薪资分配、薪资历史查询
4.人事管理:人员调动,调动历史查询
5.考核管理:人员考核,考核历史查询
staff(s_no,s_name,s_sex,s_birth,s_id,s_num,s_email,is_married,s_address)
department(d_no,d_name,manager)
professional(p_no,p_name)
education(s_no,xl,major,school,graduate_date)
sp(s_no,p_no,d_no,sj)
checking(s_no,c_date, c_tdays,c_ldays,c_odays,c_adays)
salary(s_no,leastpays,prize,doublingpays,dkannuity,dkinsurance,deduct,real_salary,s_date)
current_salary(s_no,salary,prize,deduct)
注:
staff |
员工表 |
s_no员工编号,s_name姓名,s_sex性别,s_birth出生日期,s_id身份证号,s_num电话,s_email邮箱,is_married婚否,s_address住址 |
department |
部门表 |
d_no部门编号,d_name部门名称,manager部门经理 |
professional |
职位表 |
p_no职位编号,p_name职位名称 |
education |
学历表 |
s_no员工编号,xl学历,major专业,school毕业院校,graduate_date毕业日期 |
sp |
岗位表 |
s_no员工编号,p_no职位编号,d_no部门编号,sj入职时间 |
checking |
考勤表 |
s_no员工编号,c_date本月日期, c_tdays出勤日,c_ldays请假日,c_odays加班日,c_adays旷工日 |
salary |
薪资表 |
s_no员工编号,leastpays底薪,prize奖金,doublingpays加班费,dkannuity养老金,dkinsurance医疗保险,deduct应扣工资,real_salary实际薪资,s_date发薪日期 |
current_salary |
当前薪资表 |
s_no员工编号,salary底薪,prize奖金,deduct应扣工资 |
管理员信息表
记录了管理员的账号信息(工号和密码)。
列名 |
数据类型 |
允许空值 |
s_no(主键) |
char(6) |
非空 |
pwd |
char(20) |
非空 |
员工信息表
该表记录了员工的部分信息,如员工的姓名,性别,生日等。
列名 |
数据类型 |
允许空值 |
s_no(主键) |
char(6) |
非空 |
s_name |
char(8) |
非空 |
s_sex |
char(2) |
非空 |
s_birth |
date |
非空 |
s_id |
Char(20) |
非空 |
s_num |
char(11) |
非空 |
s_email |
char(20) |
非空 |
is_married |
char(3) |
非空 |
s_address |
varchar(50) |
非空 |
部门信息表
该表记录了所有部门的信息(部门编号,名称和经理)
列名 |
数据类型 |
允许空值 |
d_no(主键) |
char(6) |
非空 |
d_name |
varchar(20) |
空 |
s_no |
char(6) |
空 |
职位信息表
该表记录了所有职位的信息(职位编号和名称)
列名 |
数据类型 |
允许空值 |
p_no(主键) |
char(6) |
非空 |
p_name |
char(30) |
非空 |
就职表
该表记录了员工所在的部门,担任的职位和入职时间。
列名 |
数据类型 |
允许空值 |
s_no(主键) |
char(6) |
非空 |
p_no |
char(6) |
非空 |
d_no |
char(6) |
非空 |
entry_time |
date |
非空 |
教学信息表
该表记录了员工的教育信息,包括学历,专业,学校等。
列名 |
数据类型 |
允许空值 |
s_no(主键) |
char(6) |
非空 |
xl |
varchar(20) |
非空 |
major |
varchar(20) |
空 |
school |
varchar(20) |
空 |
graduate_date |
date |
空 |
当前薪资表
记录了员工当前的底薪,奖金和应扣工资。
列名 |
数据类型 |
允许空值 |
s_no(主键) |
char(6) |
非空 |
salary |
float(11) |
非空 |
prize |
float(11) |
空 |
deduct |
float(11) |
空 |
历史发薪表
该表记录了员工以往工资的详情信息(如:奖金,养老金等)。
列名 |
数据类型 |
允许空值 |
sa_no(主键) |
char(6) |
非空 |
s_no |
char(6) |
非空 |
leastpays |
float(11) |
非空 |
prize |
float(11) |
空 |
doublingpays |
float(11) |
空 |
dkannuity |
float(11) |
空 |
dkinsurrance |
float(11) |
空 |
s_date |
date |
空 |
deduct |
float(11) |
空 |
real_salary |
float(11) |
空 |
人事调动表
该表记录了员工的历史调动信息(如:调前部门,职位和调后部门,职位等)。
列名 |
数据类型 |
允许空值 |
p_no(主键) |
char(6) |
非空 |
s_no |
varchar(20) |
非空 |
predept |
varchar(20) |
非空 |
aftdept |
varchar(20) |
非空 |
prepost |
varchar(20) |
非空 |
aftpost |
varchar(20) |
非空 |
p_date |
date |
非空 |
考勤表
该表记录了员工的历史考勤信息(如:旷工天数,请假天数,出勤天数,加班天数)。
列名 |
数据类型 |
允许空值 |
s_no(主键) |
char(6) |
非空 |
c_date(主键) |
char(10) |
非空 |
c_tdays |
int(2) |
非空 |
c_ldays |
int(2) |
非空 |
s_odays |
int(2) |
非空 |
s_adays |
int(2) |
非空 |
填写信息错误,会提示:
源代码:https://github.com/Echoyy9/Personnel-Management-System