目录

前言

1 系统概述

2 相关技术

3 系统分析

3.1需求分析  

3.2数据库设计   

3.2.1数据库概念模型

3.2.2数据库逻辑模型

 3.2.3 数据库物理模型

4 系统功能设计

5 系统主界面  


前言

最近和同学合作完成了数据库实习,数据库题目是人事管理系统。我们做的功能比较简单,还有很多未能完善的。不过这也算是一次创新,之前做的都是网页,这一次尝试用python做GUI界面。之前没有做过GUI界面,并且这一次选用的是pyqt5库,网上资料不多,所以制作过程比较坎坷。不过磕磕绊绊还是完成了这个项目。一下是对该项目的总结

1 系统概述

     人事管理系统,属于ERP的一个部分。它单指汇集成功企业先进的人力资源管理理念、人力资源管理实践、人力资源信息化系统建设的经验,以信息技术实现对企业人力资源信息的高度集成化管理,为中国企业使用的人力资源管理解决方案。核心价值在于将人力资源工作者从繁重的日常琐碎事务中解放出来,将更多地精力用于企业的人力资源职能管理和管理决策,保持企业的持续高效运营。 集中记录、监测和分析所有劳动力的技能和资格,提供决策分析。提高企业整体的科技含量与管理效率,加快企业的信息化建设。

2 相关技术

1.mysql

2.python

3.pyqt5

3 系统分析

3.1需求分析  

人事管理系统需要满足的基本功能如下:

1.员工管理:添加员工信息、修改员工共信息、删除员工信息、查询员工信息

2.部门管理:添加部门信息、修改部门信息、删除部门信息、查询部门信息

3.薪资管理:薪资分配、薪资历史查询

4.人事管理:人员调动,调动历史查询

5.考核管理:人员考核,考核历史查询

3.2数据库设计   

3.2.1数据库概念模型

3.2.2数据库逻辑模型

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应扣工资

 3.2.3 数据库物理模型

管理员信息表

    记录了管理员的账号信息(工号和密码)。

列名

数据类型

允许空值

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)

非空

4 系统功能设计

5 系统主界面  

填写信息错误,会提示:

 

源代码:https://github.com/Echoyy9/Personnel-Management-System

 

Logo

更多推荐