李兆琪
摘 要:在科技飛速發(fā)展的今天,信息資源已經(jīng)成為每個部門最重要的財富,隨著科學(xué)的進(jìn)步,一些公司不斷發(fā)展壯大急需一套完整的工資管理系統(tǒng)幫助企業(yè)的財務(wù)主管部門提高工作效率。本系統(tǒng)實現(xiàn)對人員信息、薪資福利、員工社保信息的維護(hù)和查詢,并能迅速準(zhǔn)確地完成考勤的分類匯總,生成工資報表等。無疑將給企業(yè)管理部門帶來很大的方便。真正實現(xiàn)企業(yè)高效、科學(xué)、現(xiàn)代化的員工管理。有利于財務(wù)部門對員工工資的管理,減輕人事部們的任務(wù),提高公司效率,節(jié)約人力資源從而降低企業(yè)成本。
關(guān)鍵詞:數(shù)據(jù);數(shù)據(jù)庫;函數(shù);工資管理
中圖分類號:TP311.13? 文獻(xiàn)標(biāo)識碼:A? 文章編號:1673-260X(2021)11-0010-02
0 引言
數(shù)據(jù)庫,顧名思義是存儲數(shù)據(jù)的倉庫。而這個倉庫是建立在計算機(jī)上的,人們把數(shù)據(jù)按照一定的格式保存在這個倉庫中。數(shù)據(jù)庫是數(shù)據(jù)管理的有效技術(shù),是計算機(jī)科學(xué)的重要分支。而作為信息系統(tǒng)核心和基礎(chǔ)的數(shù)據(jù)庫技術(shù)得到越來越廣泛的應(yīng)用,從小型單項事務(wù)處理系統(tǒng)到大型信息系統(tǒng),從聯(lián)機(jī)事務(wù)處理(OLTP)到聯(lián)機(jī)分析系統(tǒng)(OLAP),越來越多的應(yīng)用領(lǐng)域采用數(shù)據(jù)庫技術(shù)來存儲處理信息。數(shù)據(jù)庫在人們生活中的應(yīng)用有很多,比如線上購買車票,查詢車次信息;通過網(wǎng)上銀行存款轉(zhuǎn)賬;查看修改個人信息等等。此時建立一個滿足部門信息處理要求的行之有效的系統(tǒng)則成為一個企業(yè)或組織生存的重要條件。
本系統(tǒng)實現(xiàn)了對員工各種信息的增加、刪除、修改、查詢。第一部分分析了系統(tǒng)的需求,第二部分分為幾小部分,分別介紹了實體的確定,邏輯圖的展示,和實現(xiàn)各種數(shù)據(jù)表的增刪改查,第三部分對本系統(tǒng)做出了總結(jié)。
1 系統(tǒng)需求分析
工資管理系統(tǒng)描述與要實現(xiàn)功能如下:
1.1 員工基本工資信息管理(不包含加班津貼和年終獎)
管理員可以根據(jù)員工的現(xiàn)任職務(wù)設(shè)定員工的基本工資。員工工種的不同,工資的標(biāo)準(zhǔn)也不同,員工基礎(chǔ)信息(包括領(lǐng)導(dǎo))該信息包括員工編號,員工姓名,部門編號,性別,入職日期,職務(wù)編號,職務(wù)名稱。
1.2 加班津貼管理
管理員根據(jù)加班的時間給子予不同的加班津貼。按照員工的考勤情況和工作表現(xiàn),生成員工工資。加班津貼信息(根據(jù)加班時間給予不同的加班津貼,每小時n元錢,所得加班津貼=n*加班時間)員工編號,加班時間,所得加班津貼。
1.3 員工年終獎金管理
年終獎金計算公式=((員工本年度的工資總和+津貼的總和)/12)。
管理員可以根據(jù)員工今年的工資和津貼為員工發(fā)放年終獎,信息包括員工編號,員工姓名,工資總和,津貼總和,年終獎金。
1.4 員工最終工資查詢管理
員工可以根據(jù)自己的員工編號或姓名查找核對自己已到賬的工資,并能查看津貼、獎金、實際工資、部門平均工資等信息。信息包括部門工資表編號(主鍵),部門編號,員工編號,員工姓名,月工資。企業(yè)工資報表部門編號,員工編號,員工姓名,月工資,部門總工資(部門總工資=sum(月工資))。
2 數(shù)據(jù)庫設(shè)計
2.1 創(chuàng)建概念數(shù)據(jù)模型實體以及屬性
員工相關(guān)信息可抽象為“員工基本信息實體”實體、職務(wù)相關(guān)信息可抽象為“職務(wù)實體”實體,部門相關(guān)信息可抽象為“部門信息實體”實體、員工工資相關(guān)信息可抽象為“員工工資實體”實體、員工基本工資相關(guān)信息可抽象為“基本工資實體”實體、加班相關(guān)信息可抽象為“加班管理實體”實體。
員工基本信息實體:員工編號、員工姓名、性別、入職日期;職務(wù)實體:職務(wù)編號、職務(wù)名稱;部門信息實體:部門編號、部門名稱、人數(shù);員工工資實體:工資序號、日期、基本工資、加班日期、總工資;基本工資實體:基本工資;加班管理實體:加班日期、加班開始時間、加班結(jié)束時間。
2.2 數(shù)據(jù)實施與維護(hù)
數(shù)據(jù)的實施第一步就是要建立數(shù)據(jù)表,此系統(tǒng)最少要建立六個數(shù)據(jù)表,創(chuàng)建完成數(shù)據(jù)表后,就是要把員工的部門、編號、職位、工資等數(shù)據(jù)信息有組織的錄入到數(shù)據(jù)表中,隨后我們可以創(chuàng)建一個可查看員工信息的視圖,以查看男員工信息為例:
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的含義就是創(chuàng)建一個視圖,括號里就是要輸出的員工信息。SELECT含義為選擇,WHERE的含義是條件,sex則代表了性別,此語句就完成了在emp(員工表)中查詢性別為男的所有員工的信息。此外數(shù)據(jù)的查詢還可以使用存儲過程或存儲函數(shù),一般來說,存儲過程實現(xiàn)的功能要復(fù)雜一點,而函數(shù)的實現(xiàn)的功能針對性比較強(qiáng)。存儲過程一般是作為一個獨立的部分來執(zhí)行,而函數(shù)可以作為查詢語句的一個部分來調(diào)用。我們可以通過創(chuàng)建函數(shù)來實現(xiàn)返回數(shù)據(jù)表上的對象,或者返回數(shù)據(jù)表中對象的值。以存儲函數(shù)為例,本系統(tǒng)中我們可以創(chuàng)建一個有參的存儲過程,其功能是根據(jù)給定員工編號修改職務(wù)編號,源代碼如下:
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;
可以看到,我們可以利用創(chuàng)建并調(diào)用存儲過程篩選出想得到的數(shù)據(jù),還可以更改員工信息。這種方法相較于來說更加穩(wěn)定,速度更快,使SQL語言更加靈活了。而存儲過程返回的是參數(shù),存儲函數(shù)查詢到的結(jié)果可以返回值,這就是函數(shù)與過程的區(qū)別,然而為了使表與表之間同步更新,我們可以創(chuàng)建一個觸發(fā)器,在一個數(shù)據(jù)表中添加或刪除數(shù)據(jù)的時候,將另一個數(shù)據(jù)表中的數(shù)據(jù)與之同步??梢杂肈ROP TABLE觸發(fā)器名AFTER觸發(fā)時間ON表名FOR EACH ROW的語句來創(chuàng)建觸發(fā)器。
3 總結(jié)
本系統(tǒng)通過實現(xiàn)存儲過程、存儲函數(shù)和創(chuàng)建觸發(fā)器實現(xiàn)了用戶對工資信息的更改查詢,并能迅速準(zhǔn)確地完成考勤的分類匯總,生成工資報表等。本系統(tǒng)的技術(shù)及開發(fā)環(huán)境如下:
數(shù)據(jù)庫服務(wù)器:Windows平臺下的MySQL數(shù)據(jù)庫;
數(shù)據(jù)庫客戶端:Navicat for MySQL;
數(shù)據(jù)庫設(shè)計工具:PowerDesigner。
參考文獻(xiàn):
〔1〕數(shù)據(jù)庫系統(tǒng)原理及MySQL應(yīng)用教程(第二版)[M].北京:機(jī)械工業(yè)出版社,2009.