工資數(shù)據(jù)庫(kù)設(shè)計(jì)_第1頁(yè)
工資數(shù)據(jù)庫(kù)設(shè)計(jì)_第2頁(yè)
工資數(shù)據(jù)庫(kù)設(shè)計(jì)_第3頁(yè)
工資數(shù)據(jù)庫(kù)設(shè)計(jì)_第4頁(yè)
工資數(shù)據(jù)庫(kù)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、學(xué) 號(hào):課 程 設(shè) 計(jì)題 目工資數(shù)據(jù)庫(kù)設(shè)計(jì)學(xué) 院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院專(zhuān) 業(yè)班 級(jí)姓 名指導(dǎo)教師唐祖鍇年月日課程設(shè)計(jì)任務(wù)書(shū)學(xué)生姓名:專(zhuān)業(yè)班級(jí):指導(dǎo)教師:唐祖鍇工作單位:計(jì)算機(jī)學(xué)院題目:工資數(shù)據(jù)庫(kù)設(shè)計(jì)初始條件:某公司決定建立“工資管理系統(tǒng)”,以取代單一的人工管理。根據(jù)人員基本情況表中的學(xué)歷、職稱(chēng)及受聘日期長(zhǎng)短,決定工資表中的基本工資和崗位津貼的具體數(shù)值。根據(jù)各部門(mén)上報(bào)的扣款表的內(nèi)容決定工資表中扣款項(xiàng)的金額。按月匯總工資表。要求完成的主要任務(wù):1. 根據(jù)上述的初始條件,進(jìn)行調(diào)查分析并設(shè)計(jì)適當(dāng)?shù)膶傩浴TO(shè)計(jì)一個(gè)工資數(shù)據(jù)庫(kù),DBMS可選Ms SQL Server、Access、VFP等。2. 完成課程設(shè)計(jì)

2、說(shuō)明書(shū),其格式遵守學(xué)校今年的新規(guī)定。主要內(nèi)容包括:需求分析,概念設(shè)計(jì),邏輯設(shè)計(jì),物理實(shí)現(xiàn)等。3. 基于改數(shù)據(jù)庫(kù),最好實(shí)現(xiàn)一個(gè)或多個(gè)應(yīng)用程序(自己確定功能),程序設(shè)計(jì)語(yǔ)言(工具)任選。這一項(xiàng)是選作,不作硬性要求。時(shí)間安排:本學(xué)期第18周:4. 消化資料、系統(tǒng)調(diào)查1天5. 系統(tǒng)分析1天6. 總體設(shè)計(jì),實(shí)施計(jì)劃2天7. 撰寫(xiě)報(bào)告1天指導(dǎo)教師簽名:年月日系主任(或責(zé)任教師)簽名:年月日1、系統(tǒng)目標(biāo)采用公司現(xiàn)有的軟硬件及科學(xué)的管理系統(tǒng)開(kāi)發(fā)方案,建立工資管理系統(tǒng),實(shí)現(xiàn)企業(yè)工資管理的計(jì)算機(jī)自動(dòng)化。系統(tǒng)應(yīng)符合公司人事、工資管理制度,并達(dá)到操作直觀、方便、實(shí)用、安全等要求。2、 系統(tǒng)功能系統(tǒng)從總體上可以分為員工

3、信息系統(tǒng),工資操作系統(tǒng),數(shù)據(jù)庫(kù)用戶(hù)系統(tǒng)。(1) 員工信息系統(tǒng)本系統(tǒng)包括對(duì)員工各種基本信息(姓名、職工號(hào)、住址、聯(lián)系電話、婚姻狀況、出生年月、崗位、部門(mén)號(hào)、性別)的錄入、修改、查詢(xún)等操作。(2) 工資操作系統(tǒng)本系統(tǒng)包括對(duì)各種類(lèi)型的基本工資的計(jì)算、生成工資表以及對(duì)員工工資的查詢(xún)等操作。(3) 數(shù)據(jù)庫(kù)用戶(hù)系統(tǒng)本系統(tǒng)包括對(duì)數(shù)據(jù)庫(kù)用戶(hù)添加、刪除及修改密碼等操作。2.1、 功能圖由上述功能描述可得系統(tǒng)功能圖如下:圖2-1 系統(tǒng)總功能圖二、 概念分析、系統(tǒng)E-R圖由系統(tǒng)的分析部分可得系統(tǒng)的E-R圖如下:圖3 -1 系統(tǒng)E-R圖系統(tǒng)的E-R圖表明:本工資管理系統(tǒng)由數(shù)據(jù)庫(kù)用戶(hù)、工資表、員工信息、工資類(lèi)別、部門(mén)信

4、息、考勤表等五部分組成。、數(shù)據(jù)流圖E-R 圖建立了系統(tǒng)的數(shù)據(jù)模型,但我們還需要了解信息流與數(shù)據(jù)從輸入移動(dòng)到輸出的過(guò)程中所經(jīng)受的變換,所以在此給出本系統(tǒng)的數(shù)據(jù)流圖:圖3-2 數(shù)據(jù)流圖四、邏輯設(shè)計(jì)以下是工資管理系統(tǒng)的關(guān)系模型:?jiǎn)T工(職工號(hào)、部門(mén)號(hào)、姓名、性別、出生年月、崗位、婚姻狀況、聯(lián)系電話、住址)部門(mén)信息(部門(mén)號(hào)、崗位、部門(mén)人數(shù))工資類(lèi)別(崗位、基礎(chǔ)工資、缺勤費(fèi)、加班費(fèi))工資表(職工號(hào)、工資、工資日期)數(shù)據(jù)庫(kù)用戶(hù)(用戶(hù)名、密碼、權(quán)限)考勤表(職工號(hào)、加班時(shí)間、缺勤天數(shù)、考勤日期)五、物理設(shè)計(jì)在SQL數(shù)據(jù)庫(kù)中需要建立6個(gè)數(shù)據(jù)表:?jiǎn)T工基本信息表、部門(mén)信息表、工資類(lèi)別表、工資表、考勤表和數(shù)據(jù)庫(kù)用戶(hù)表

5、。部門(mén)表列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空部門(mén)名Char10否崗位Char10對(duì)部門(mén)人數(shù)int4對(duì)考勤表列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空職工號(hào)Char10否加班時(shí)間Int4對(duì)缺勤天數(shù)Int4對(duì)考勤日期datetime8對(duì)工資類(lèi)別表列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空崗位char10否基礎(chǔ)工資Money8對(duì)加班費(fèi)Money8對(duì)缺勤費(fèi)money8對(duì)工資表列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空職工號(hào)char10否工資money8對(duì)工資日期datetime8對(duì)員工基本信息列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空職工號(hào)Char10否姓名Char10對(duì)性別Char10對(duì)部門(mén)名Char10對(duì)崗位Char10對(duì)出生年月Char10對(duì)婚姻狀況Char10對(duì)聯(lián)系電話Char10對(duì)住

6、址char10對(duì)數(shù)據(jù)庫(kù)用戶(hù)列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空用戶(hù)名Char10否密碼Char10對(duì)權(quán)限char10對(duì)六、算法實(shí)現(xiàn)1、添加職工if (e.getActionCommand().equals(確定) sql = select * from 員工基本信息 where 職工號(hào)= + numtext.getText() + ;try rs = con.getrs(con.con, sql);if (rs.next() jop.showMessageDialog(null, 職工號(hào)已存在,請(qǐng)輸入另外的職工號(hào), 錯(cuò)誤, -1);elsesql = insert into 員工基本信息(職工號(hào),姓名,性別

7、,部門(mén)名,崗位,出生年月,婚姻狀況,聯(lián)系電話,住址) values(+numtext.getText()+,+nametext.getText()+,+xbtext.getText()+,+bmchoice.getSelectedItem()+,+gwchoice.getSelectedItem()+,+csnytext.getText()+,+hyzktext.getText()+,+lxdhtext.getText()+,+zztext.getText()+);con.moddb(con.con, sql);/try /con.dbclose(con.con,null);/ catch (

8、Exception ue) /ue.printStackTrace();/con.dbclose(con.con, rs);numtext.setText();nametext.setText();xbtext.setText();csnytext.setText();hyzktext.setText();lxdhtext.setText();zztext.setText();con = null;rs = null; catch (SQLException et) et.printStackTrace();2、刪除職工if (e.getActionCommand().equals(確定) t

9、ry sql = delete from 員工基本信息 where 職工號(hào)=+numco.getSelectedItem()+;con.moddb(con.con, sql);sql = delete from 考勤表 where 職工號(hào)=+numco.getSelectedItem()+;con.moddb(con.con, sql);sql = delete from 工資表 where 職工號(hào)=+numco.getSelectedItem()+;con.moddb(con.con, sql);System.out.println(aaa);initnumcho();System.out.

10、println(bbb);JOptionPane jop = new JOptionPane();jop.showMessageDialog(null, 職工刪除成功!, 更新成功, -1);System.out.println(ccc);/con.dbclose(con.con, null);System.out.println(ddd);con = null;rs = null; catch (Exception et) System.out.println(aaaa);et.printStackTrace();3.職工信息查詢(xún)sql = select * from 員工基本信息 wher

11、e 員工基本信息.職工號(hào)= + numchoice.getSelectedItem()+ ;try rs = con.getrs(con.con, sql);if (rs.next() nametext.setText(rs.getString(姓名);xbtext.setText(rs.getString(性別);bmtext.setText(rs.getString(部門(mén)名);gwtext.setText(rs.getString(崗位);csnytext.setText(rs.getString(出生年月);hyzktext.setText(rs.getString(婚姻狀況);lxdh

12、text.setText(rs.getString(聯(lián)系電話);zztext.setText(rs.getString(住址);con.dbclose(con.con, rs);con = null;rs = null;catch (SQLException e1) e1.printStackTrace();4.修改職工信息if (ae.getActionCommand().equals(確定) try sql = update 員工基本信息 set 姓名=+nametext.getText()+,性別=+xbtext.getText()+,部門(mén)名=+bmchoice.getSelectedI

13、tem()+,崗位=+gwchoice.getSelectedItem()+,出生年月=+csnytext.getText()+,婚姻狀況=+hyzktext.getText()+,聯(lián)系電話=+lxdhtext.getText()+,住址=+zztext.getText()+ WHERE 職工號(hào)=+numchoice.getSelectedItem()+;con.moddb(con.con, sql);jop.showMessageDialog(null, 職工修改成功!, 更新成功, -1); catch (Exception ue) ue.printStackTrace();con.dbc

14、lose(con.con, rs);nametext.setText();xbtext.setText();csnytext.setText();hyzktext.setText();lxdhtext.setText();zztext.setText();con = null;rs = null;/nametx.setText();5.考勤錄入if (e.getActionCommand().equals(確定) sql = select * from 考勤表 where 職工號(hào)=+ numchoice.getSelectedItem()+ AND 考勤日期= +kqrqtext.getTex

15、t()+;try rs = con.getrs(con.con, sql);if (rs.next() jop.showMessageDialog(null, 該名職工該考勤日期已記錄, 錯(cuò)誤, -1);elsesql = insert into 考勤表(職工號(hào),加班時(shí)間,缺勤天數(shù),考勤日期) values(+ numchoice.getSelectedItem()+,+jbsstext.getText()+,+qqtstext.getText()+,+kqrqtext.getText()+);con.moddb(con.con, sql);jbss=new Float(jbsstext.ge

16、tText();qqts=new Float(qqtstext.getText(); sql=select 崗位 from 員工基本信息 WHERE 職工號(hào)=+numchoice.getSelectedItem()+; rs = con.getrs(con.con, sql); rs.next(); String aa=rs.getString(崗位); rs=null; sql=null; sql=select * from 工資類(lèi)別 WHERE 崗位=+aa+; rs=con.getrs(con.con, sql); rs.next(); jbgz=rs.getFloat(基礎(chǔ)工資); j

17、bfy=rs.getFloat(加班費(fèi)); qqfy=rs.getFloat(缺勤費(fèi)); gz=jbgz+jbfy*jbss-qqfy*qqts; System.out.println(gz); sql=insert into 工資表(職工號(hào),工資,工資日期) values(+numchoice.getSelectedItem()+,+gz+, +kqrqtext.getText()+); con.moddb(con.con, sql);/try /con.dbclose(con.con,null);/ catch (Exception ue) /ue.printStackTrace();/c

18、on.dbclose(con.con, rs);jbsstext.setText();qqtstext.setText();kqrqtext.setText();con = null;rs = null; catch (SQLException et) et.printStackTrace();6.職工工資查詢(xún)if(e.getActionCommand().equals(查詢(xún)) con=new condb(); sql=select 工資表.職工號(hào),員工基本信息.姓名,工資表.工資,工資表.工資日期 from 員工基本信息,工資表 WHERE 員工基本信息.職工號(hào)=工資表.職工號(hào) AND 職工

19、號(hào)= + numchoice.getSelectedItem()+ ORDER BY 工資表.工資日期 DESC ; rs=con.getrs(con.con, sql); try while(rs.next() try gzcx.appendText(rs.getString(職工號(hào)); gzcx.appendText(rs.getString(姓名); gzcx.appendText(rs.getString(工資); gzcx.appendText(t); gzcx.appendText(rs.getString(工資日期); gzcx.appendText(n); catch (SQL

20、Exception e1) / TODO Auto-generated catch block e1.printStackTrace(); catch (SQLException e1) / TODO Auto-generated catch block e1.printStackTrace(); con.dbclose(con.con,rs); con=null; rs = null; 7.部門(mén)工資查詢(xún)if(e.getActionCommand().equals(平均工資) int count=0; float gzh=0; con=new condb(); sql=select * fro

21、m 工資表,員工基本信息 WHERE 部門(mén)名= + bmchoice.getSelectedItem()+ AND 員工基本信息.職工號(hào)=工資表.職工號(hào) ; rs=con.getrs(con.con, sql); try while(rs.next() gzh=gzh+rs.getFloat(工資); count+; catch (SQLException e2) e2.printStackTrace(); String a=new String(該部門(mén)平均工資為); float b=gzh/count; a+=b; jop.showMessageDialog(null,a, 錯(cuò)誤, -1);

22、 if (e.getActionCommand().equals(查詢(xún)) gzcx.setText();con=new condb(); sql=select 工資表.職工號(hào),員工基本信息.姓名,員工基本信息.部門(mén)名,工資表.工資,工資表.工資日期 from 員工基本信息,工資表 WHERE 員工基本信息.職工號(hào)=工資表.職工號(hào) AND 員工基本信息.部門(mén)名= + bmchoice.getSelectedItem()+ ORDER BY 工資表.工資日期 DESC ; rs=con.getrs(con.con, sql); try while(rs.next() try gzcx.append

23、Text( ); gzcx.appendText(rs.getString(職工號(hào)); gzcx.appendText(rs.getString(姓名); gzcx.appendText(rs.getString(部門(mén)名); gzcx.appendText(rs.getString(工資); gzcx.appendText(t ); gzcx.appendText(rs.getString(工資日期); gzcx.appendText(n); catch (SQLException e1) / TODO Auto-generated catch block e1.printStackTrace

24、(); catch (SQLException e1) / TODO Auto-generated catch block e1.printStackTrace(); con.dbclose(con.con,rs); con=null; rs = null;8.工資表查詢(xún)sql=select 工資表.職工號(hào),員工基本信息.姓名,工資表.工資,工資表.工資日期 from 員工基本信息,工資表 WHERE 員工基本信息.職工號(hào)=工資表.職工號(hào) ORDER BY 工資表.工資日期 DESC ; rs=con.getrs(con.con, sql); try while(rs.next()try gz

25、cx.appendText(rs.getString(職工號(hào));gzcx.appendText(rs.getString(姓名);gzcx.appendText(rs.getString(工資);gzcx.appendText(t);gzcx.appendText(rs.getString(工資日期);gzcx.appendText(n); catch (SQLException e1) / TODO Auto-generated catch blocke1.printStackTrace(); catch (SQLException e1) / TODO Auto-generated catch blocke1.printStackTrace(); con.dbclose(con.con,rs); con=null;rs = null; addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) dispose();七、系統(tǒng)截圖1、登陸界面2、添加職工3、刪除職工4、職工基本信息查

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論