当前位置:网站首页 > 技术管理基础 > 正文

数据库课程设计——工资管理系统Qt

引言

一、概述

本员工工资管理系统实现了对员工工资信息的浏览、删除、修改、查询和统计分析功能,节省了大量的人工操作的工作量,自动完成众多的信息处理,减少了数据出错的几率,加强了工资记录的安全性和完整性。其主要系统功能包括以下几个模块:系统模块管理(包括登录、用户管理)、员工管理(包括添加新员工信息、员工信息查询、员工信息维护)、工资组成项目(包括工资信息的添加、工资信息维护)、员工工资的统计分析等。清晰的体现了员工工资管理流程,完成了基本的员工工资管理要求,是一个典型的信息管理系统。该系统大大地简化了操作流程,提高了企业的工作效率。

二、需求分析

2.1功能定义
工资管理系统应完成以下功能:
(1) 管理员通过账号密码登录。
(2) 员工信息管理: 实现对员工信息的输入、查询和修改(如员工编号、部门、姓名、性别、联系方式、入职时间、任职状态)。
(3) 部门信息管理:实现对部门信息的输入、查询和修改(如部门编号、部门名称、部门经理、部门电话、部门邮箱)。
(4) 工资管理:员工工资一部分是基本工资,根据员工的工龄和岗位设置;另一部分根据每月到岗天数,决定是否有扣除工资。包括对工资的查询和修改。(职工号、年月、基本工资、补贴工资、扣除工资、应发工资、实发工资、发放状态)。
(5) 考勤管理:记录每个月员工到岗天数、请假天数。(职工号、年月、出勤天数、请假天数)。
(6) 统计分析功能:统计当月所要核发的工资总金额,平均工资,以及最高和最低工资。
工资规定
基本工资:4k
工资=基本工资+岗位补贴+工龄补贴-扣除工资

岗位补贴表:

岗位 人事部 市场部 服务部 设计部 技术部 生产部 客户部 售后部 运营部 销售部 财务部
补贴 800 2000 200 2000 1500
工龄 不满1年 1年 2年 3年 3年以上
工龄补贴+ 0% 2% 5% 8% 15%

图 1 工资管理系统
在这里插入图片描述
2.2参与者
(1) 系统管理员:
① 对员工信息的管理,包括对员工信息的输入、查询、修改的信息。
② 对部门信息的管理,包括对部门信息的输入,查询、修改的信息。
③ 根据员工的岗位补贴、工龄补贴、每日考勤,完成工资的核算并发放工 资。
④ 统计分析当月所要核发的工资总金额,以及最大和最低工资金额。
2.3 用例图
(1) 系统管理员用例图
在这里插入图片描述

 图 2 系统管理员用例图 

(2) 工资管理系统用例图
在这里插入图片描述

 图 3 工资管理系统用例图 

三、概念结构设计

工资管理系统涉及的实体有:
 职工:属性有员工编号、姓名、性别、联系方式、入职时间、任职状态。
 部门:部门编号、部门名称、部门经理、部门电话、部门邮箱、部门地址。
 工资:年月、基本工资、补贴工资、扣除工资、应发工资、实发工资、发放状态。
 考勤:年月、出勤天数、请假天数。
实体之间联系如下:
(1) 一个部门可以存在多名员工,一个员工只能在一个部门工作。
(2) 一个职工每个月拥有一份工资,并且存在一份考勤记录。

四、逻辑结构设计

在这里插入图片描述
图 8 工资管理系统ER图

五、物理结构设计

为了提高系统的性能,根据应用情况将数据的易变部分与稳定部分、经常存取部分与不经常存取部分分开存放。由于现在的计算机都有多个磁盘,将表(如员工信息表)和索引放在不同的磁盘上,在查询过程中,大大提高I/0读写的效率,而对于较大的分放在两个磁盘上,可以加快存取速度,在多用户环境下的作用更有效;为了改进系统﹑的性能,将日志文件与数据库对象(表、索引等)放在了不同的盘上。同时,考虑到本系统是多用户的,为了提高效率,数据库备份的数据和日志文件将保﹑存在磁盘中。在数据库中经常存取的部分包括:
工资(职工编号、年月、基本工资、应发工资、实发工资、扣除薪资、补贴薪资、发放状态);
职工(职工编号、部门编号、姓名、性别、入职日期、联系方式、任职状态);
考勤(职工编号、年月、出勤天数、请假天数);
部门(部门编号、部门名称、部门经理、部门电话、部门邮箱、部门地址、基本工资);
在数据库设计初始阶段,为了对以后的数据库进行物理优化,提供了一些系统配置变量、存储分配系数,并对这些变量赋予合理的缺省值。但这些值不一定适合每一种应用环境,在进行物理设计时,对这些变量重新赋值,以改善系统的性能。在选择硬件设备、服务器操作系统应该考虑能够逐步增加和扩展。在配置系统变量时,要注意同时使用数据库的用户数,同时打开的数据库﹑对象数,内存分配参数,缓冲区分配参数,时间片大小,数据库的大小,锁的数目等。这些参数值都会影响数据库的存储时间和存储空间的分配。

六、数据库设计

6.1数据库完整性设计 (1) 实体完整性 员工表:员工编号为主键,此项非空且唯一。 部门表:部门编号为主键,此项非空且唯一。 工资表:员工编号、年份、月份为主键,此项非空且唯一。 考勤表:员工编号、年份、月份为主键,此项非空且唯一。 (2) 参照完整性 员工表: FOREIGN KEY(部门编号) REFERENCES 部门(部门编号) 工资表: FOREIGN KEY(员工编号) REFERENCES 员工(员工编号) 考勤表: FOREIGN KEY(员工编号) REFERENCES 员工(员工编号) (3) 用户定义完整性 ① 员工表: 姓名(非空): ename VARCHAR(50) not NULL 性别(只允许取‘男’或‘女’): Ssex VARCHAR(4) CHECK (Ssex IN('男','女')) 年龄(年龄只允许大于等于18岁): Sage Smallint CHECK(Sage>18) 联系方式(取值唯一): phone_number VARCHAR(20) UNIQUE 入职时间(入职时间仅限2015-2099): hire_date INT CHECK(hire_date>=2015 AND hire_date<2099) 在职状态(只允许取‘在职’或‘退休’): employment_status VARCHAR(50) CHECK (employment_status IN('在职','退休')) money int NOT NULL ② 工资表 年份(限于2015-2099之间) year INT check(year BETWEEN 2015 AND 2099) 月份(限于1-12之间) month INT CHECK(month BETWEEN 1 AND 12) 

七、数据库运行与维护

 7.1创建数据库 CREATE DATABASE dataystem; 7.2创建数据表 部门信息表的建立: CREATE TABLE department( dno VARCHAR(8) PRIMARY KEY, -- 部门编号 dname VARCHAR(20) NOT NULL, -- 部门名称 dmanger VARCHAR(20) , -- 部门经理 dphone VARCHAR(15) UNIQUE, -- 部门电话 demail VARCHAR(30) NOT NULL, -- 部门邮箱 daddress VARCHAR(100), -- 部门地址 money int -- 基本工资 ); 职工信息表的建立: CREATE TABLE employee ( employee_id CHAR(6) PRIMARY KEY, -- 员工编号 dno VARCHAR(8), -- 部门编号 ename VARCHAR(50) not NULL, -- 姓名 Ssex VARCHAR(4) CHECK (Ssex IN('男','女')), -- 性别 Sage Smallint CHECK(Sage>18),-- 年龄 phone_number VARCHAR(20) UNIQUE, -- 联系方式 hire_date INT CHECK(hire_date>=2015 AND hire_date<2099), -- 入职时间 employment_status VARCHAR(50) CHECK (employment_status IN('在职','退休')),-- 在职状态 FOREIGN KEY(dno) REFERENCES department(dno) ); 员工工资表的建立: CREATE TABLE salary ( employee_id CHAR(6) NOT NULL, -- 员工编号 year INT check(year BETWEEN 2015 AND 2099), -- 年份 month INT CHECK(month BETWEEN 1 AND 12), -- 月份 basic_pay INT, -- 基本工资 butie_pay INT, -- 应发工资 kouchu_pay INT, -- 实发工资 yingfa_pay INT, -- 扣除工资 shifa_pay INT, -- 补贴工资 s_status CHAR(6) NOT NULL, -- 发放状态 PRIMARY KEY (employee_id, year, month) ); 员工考勤表的建立: CREATE TABLE attendance ( employee_id CHAR(6), -- 职工号,唯一标识 year INT NOT NULL, -- 年份 month INT NOT NULL, -- 月份 attendance_days INT NOT NULL, -- 出勤天 leave_days INT NOT NULL , -- 请假天 PRIMARY KEY (employee_id, year, month) ); 管理员登录表的建立: CREATE TABLE user ( username VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL ); 7.3创建视图 创建查询指定部门编号员工信息: CREATE VIEW employee_department_salary AS SELECT e.employee_id, e.ename, d.dname, e.Sage, d.money FROM employee e JOIN department d ON e.dno = d.dno WHERE e.dno = '指定部门编号';** 

八、系统功能实现

8.1 工资管理系统界面设计
工资管理系统主要分为左右两部分,左侧为导航栏,主要分为员工信息管理、部门信息管理、工资管理、考勤管理、数据分析五个板块。通过点击不同的板块内容,实现不同的功能。
在这里插入图片描述

 图8-1 工资管理系统系统界面设计 

8.2员工信息管理界面设计
点击员工信息按钮,即可显示出公司内部所有员工信息,通过界面配置的搜索框、编辑、删除、新增、保存等按钮即可对员工信息进行操作。
在这里插入图片描述

 图8-2 员工信息管理界面 

8.3部门信息管理界面设计
点击部门信息按钮,即可显示出公司内部所有部门信息,通过界面配置的搜索框、编辑、删除、新增、保存等按钮即可对部门信息进行操作。
在这里插入图片描述

 图8-3 部门信息管理界面 

8.4工资管理界面设计
点击工资管理按钮,即可显示出公司内部所有员工工资信息,通过界面配置的搜索框、编辑、删除、新增、保存等按钮即可对工资信息进行查询,修改、删除、添加等操作。
在这里插入图片描述

 图8-4 工资管理界面 

8.5考勤管理界面设计
点击考勤管理按钮,即可显示出公司内部所有员工考勤信息,通过界面配置的搜索框、编辑、删除、新增、保存等按钮即可对考勤信息进行查询,修改、删除、添加等操作。
在这里插入图片描述

 图8-5 考勤管理界面 

8.6数据分析界面设计
通过数据库操作计算部门工资分布,部门人数分布,以及部门工资分布,来实现数据分析操作。
在这里插入图片描述

 图8-6 数据分析界面 

九、总结

获取源码请私信我。

到此这篇数据库课程设计——工资管理系统Qt的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 软件工程-项目总体设计(图书管理系统)_软件工程图书管理系统课程设计2024-10-30 20:56:24
  • Oracle数据库管理:从基础到高级应用【文末送书】_oracle数据库管理从入门到精通2024-10-30 20:56:24
  • 作业管理系统_安全管理系统2024-10-30 20:56:24
  • 无线网络安全技术基础_无线网络安全技术基础知识2024-10-30 20:56:24
  • 深入探索达梦数据库:关键技术学习路径与实战指南2024-10-30 20:56:24
  • 大数据技术原理与应用-林子雨版-课后习题答案_大数据技术原理与应用 课后答案2024-10-30 20:56:24
  • 面试宝典:掌握基本数据结构 - 理论与实践案例深度解析_数据结构基础面试题2024-10-30 20:56:24
  • 仓库货物管理系统_物资管理系统2024-10-30 20:56:24
  • 【软考】专栏导读(软考全面介绍、资格报考建议)_【软考】专栏导读(软考全面介绍、资格报考建议)2024-10-30 20:56:24
  • 数字化转型核心:实现业务与技术深度融合的运维数字化管理之道_数字化转型核心:实现业务与技术深度融合的运维数字化管理之道2024-10-30 20:56:24
  • 全屏图片