基于MySQL数据库服务器创建企业工资管理系统

2021-12-17 02:02李兆琪
赤峰学院学报·自然科学版 2021年11期
关键词:数据数据库函数

李兆琪

摘 要:在科技飞速发展的今天,信息资源已经成为每个部门最重要的财富,随着科学的进步,一些公司不断发展壮大急需一套完整的工资管理系统帮助企业的财务主管部门提高工作效率。本系統实现对人员信息、薪资福利、员工社保信息的维护和查询,并能迅速准确地完成考勤的分类汇总,生成工资报表等。无疑将给企业管理部门带来很大的方便。真正实现企业高效、科学、现代化的员工管理。有利于财务部门对员工工资的管理,减轻人事部们的任务,提高公司效率,节约人力资源从而降低企业成本。

关键词:数据;数据库;函数;工资管理

中图分类号:TP311.13  文献标识码:A  文章编号:1673-260X(2021)11-0010-02

0 引言

数据库,顾名思义是存储数据的仓库。而这个仓库是建立在计算机上的,人们把数据按照一定的格式保存在这个仓库中。数据库是数据管理的有效技术,是计算机科学的重要分支。而作为信息系统核心和基础的数据库技术得到越来越广泛的应用,从小型单项事务处理系统到大型信息系统,从联机事务处理(OLTP)到联机分析系统(OLAP),越来越多的应用领域采用数据库技术来存储处理信息。数据库在人们生活中的应用有很多,比如线上购买车票,查询车次信息;通过网上银行存款转账;查看修改个人信息等等。此时建立一个满足部门信息处理要求的行之有效的系统则成为一个企业或组织生存的重要条件。

本系统实现了对员工各种信息的增加、删除、修改、查询。第一部分分析了系统的需求,第二部分分为几小部分,分别介绍了实体的确定,逻辑图的展示,和实现各种数据表的增删改查,第三部分对本系统做出了总结。

1 系统需求分析

工资管理系统描述与要实现功能如下:

1.1 员工基本工资信息管理(不包含加班津贴和年终奖)

管理员可以根据员工的现任职务设定员工的基本工资。员工工种的不同,工资的标准也不同,员工基础信息(包括领导)该信息包括员工编号,员工姓名,部门编号,性别,入职日期,职务编号,职务名称。

1.2 加班津贴管理

管理员根据加班的时间给子予不同的加班津贴。按照员工的考勤情况和工作表现,生成员工工资。加班津贴信息(根据加班时间给予不同的加班津贴,每小时n元钱,所得加班津贴=n*加班时间)员工编号,加班时间,所得加班津贴。

1.3 员工年终奖金管理

年终奖金计算公式=((员工本年度的工资总和+津贴的总和)/12)。

管理员可以根据员工今年的工资和津贴为员工发放年终奖,信息包括员工编号,员工姓名,工资总和,津贴总和,年终奖金。

1.4 员工最终工资查询管理

员工可以根据自己的员工编号或姓名查找核对自己已到账的工资,并能查看津贴、奖金、实际工资、部门平均工资等信息。信息包括部门工资表编号(主键),部门编号,员工编号,员工姓名,月工资。企业工资报表部门编号,员工编号,员工姓名,月工资,部门总工资(部门总工资=sum(月工资))。

2 数据库设计

2.1 创建概念数据模型实体以及属性

员工相关信息可抽象为“员工基本信息实体”实体、职务相关信息可抽象为“职务实体”实体,部门相关信息可抽象为“部门信息实体”实体、员工工资相关信息可抽象为“员工工资实体”实体、员工基本工资相关信息可抽象为“基本工资实体”实体、加班相关信息可抽象为“加班管理实体”实体。

员工基本信息实体:员工编号、员工姓名、性别、入职日期;职务实体:职务编号、职务名称;部门信息实体:部门编号、部门名称、人数;员工工资实体:工资序号、日期、基本工资、加班日期、总工资;基本工资实体:基本工资;加班管理实体:加班日期、加班开始时间、加班结束时间。

2.2 数据实施与维护

数据的实施第一步就是要建立数据表,此系统最少要建立六个数据表,创建完成数据表后,就是要把员工的部门、编号、职位、工资等数据信息有组织的录入到数据表中,随后我们可以创建一个可查看员工信息的视图,以查看男员工信息为例:

CREATE OR REPLACE VIEW customer_male(员工编号,部门编号,职位编号,员工姓名,性别,入职日期)

AS

SELECT empno,deptno,jobno,ename,sex,time

FROM emp

WHERE sex='男';

SELECT *

FROM customer_male;

其中,CREATE OR REPLACE VIEW的含义就是创建一个视图,括号里就是要输出的员工信息。SELECT含义为选择,WHERE的含义是条件,sex则代表了性别,此语句就完成了在emp(员工表)中查询性别为男的所有员工的信息。此外数据的查询还可以使用存储过程或存储函数,一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用。我们可以通过创建函数来实现返回数据表上的对象,或者返回数据表中对象的值。以存储函数为例,本系统中我们可以创建一个有参的存储过程,其功能是根据给定员工编号修改职务编号,源代码如下:

DROP PROCEDURE IF EXISTS into_job;

DELIMITER $$

CREATE PROCEDURE into_job(IN v_empno INT,IN v_jobno VARCHAR(20))

BEGIN

UPDATE emp SET jobno=v_jobno WHERE empno=v_empno;

END $$

DELIMITER ;

CALL into_job(1,2);

SELECT * FROM emp;

可以看到,我们可以利用创建并调用存储过程筛选出想得到的数据,还可以更改员工信息。这种方法相较于来说更加稳定,速度更快,使SQL语言更加灵活了。而存储过程返回的是参数,存储函数查询到的结果可以返回值,这就是函数与过程的区别,然而为了使表与表之间同步更新,我们可以创建一个触发器,在一个数据表中添加或删除数据的时候,将另一个数据表中的数据与之同步。可以用DROP TABLE触发器名AFTER触发时间ON表名FOR EACH ROW的语句来创建触发器。

3 总结

本系统通过实现存储过程、存储函数和创建触发器实现了用户对工资信息的更改查询,并能迅速准确地完成考勤的分类汇总,生成工资报表等。本系统的技术及开发环境如下:

数据库服务器:Windows平台下的MySQL数据库;

数据库客户端:Navicat for MySQL;

数据库设计工具:PowerDesigner。

参考文献:

〔1〕数据库系统原理及MySQL应用教程(第二版)[M].北京:机械工业出版社,2009.

猜你喜欢
数据数据库函数
数据库
公路工程试验检测存在的问题及措施
一种借助数据处理构建的智能食堂管理系统
浅谈计量自动化系统实现预购电管理应用
关于函数的一些补充知识
数据库
高中数学中二次函数应用举隅オ
数据库
数据库
无独有偶 曲径通幽