數(shù)據(jù)庫課程設(shè)計(jì)-人事管理系統(tǒng).doc_第1頁
數(shù)據(jù)庫課程設(shè)計(jì)-人事管理系統(tǒng).doc_第2頁
數(shù)據(jù)庫課程設(shè)計(jì)-人事管理系統(tǒng).doc_第3頁
數(shù)據(jù)庫課程設(shè)計(jì)-人事管理系統(tǒng).doc_第4頁
數(shù)據(jù)庫課程設(shè)計(jì)-人事管理系統(tǒng).doc_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

福 建 工 程 學(xué) 院課程設(shè)計(jì)課 程: 數(shù)據(jù)庫課程設(shè)計(jì) 題 目: 人事管理系統(tǒng) 專 業(yè): 信息管理與信息系統(tǒng) 班 級: 0903 座 號: 01、02 姓 名: 2011年 2 月 21 日一、系統(tǒng)定義一個(gè)公司的管理離不開人事管理,對于現(xiàn)代社會(huì)的公司管理,人事管理系統(tǒng)是不可或缺的一部分,它為人事管理部門的工作人員提供多種方式的人事查詢以及統(tǒng)計(jì)功能,另外還提供對企業(yè)的人事調(diào)動(dòng)(包括添加新員工、人員退休、人員辭職等)、人員信息的改動(dòng)(包括職工增加工資、給退休員工發(fā)放退休金等)以及查詢企業(yè)員工信息等操作。二、需求分析1、系統(tǒng)功能的基本要求:1)員工各種信息的輸入與修改,包括員工的基本信息、學(xué)歷信息、婚姻狀況信息、職稱,簡歷,考核結(jié)果等。2)對于轉(zhuǎn)出、辭職、辭退、退休員工信息的處理;3)按照一定的條件,查詢、統(tǒng)計(jì)符合條件的員工信息;2、給出系統(tǒng)的邏輯模型:數(shù)據(jù)流程圖、數(shù)據(jù)字典第一層數(shù)據(jù)流圖 1 員工信息管理數(shù)據(jù)流圖2 部門信息管理數(shù)據(jù)流圖 3 人事調(diào)動(dòng)數(shù)據(jù)流圖 4 工資管理數(shù)據(jù)流第二層數(shù)據(jù)流三、系統(tǒng)設(shè)計(jì)1、概念結(jié)構(gòu)設(shè)計(jì)畫出系統(tǒng)e-r圖。各分e-r圖2、邏輯結(jié)構(gòu)設(shè)計(jì)員工(工號,名字,性別,出生日期,部門號,職務(wù),學(xué)歷,電話,id)部門(部門號,部門名稱,部門人數(shù),職能描述)工資(工號,工資)加班(員工號,月份,姓名,天數(shù),錢)獎(jiǎng)金(員工號,月份,姓名,錢)出勤表(工號,考勤日期,全勤天數(shù),遲到天數(shù),病假天數(shù),事假天數(shù))用戶表1(用戶名,密碼)用戶表2(用戶名,密碼)考核表(工號,名字,考核時(shí)間,交際能力,專業(yè)能力,身體能力)離職表(工號,名字,性別,出生日期,部門號,職務(wù),學(xué)歷,電話,id)3、系統(tǒng)功能模塊圖4、其它設(shè)計(jì)圖形工具四、詳細(xì)設(shè)計(jì)存儲(chǔ)過程:create procedure bumengengxin1dcount int,dno char(2)as update department set dcount=dcount where dno=dnocreate procedure bumeninsertdno char(2),dname char(10),dcount int,djianjie char(40)as insert into department values(dno,dname,dcount,djianjie)create procedure charu eno char(10) , dno char(10) , ename char(20), esex char(2), ebir char(20), ezhiwu char(10), exueli char(10), etel char(11), eid char(18)as insert into employee values(eno,dno,ename,esex,ebir,ezhiwu,exueli,etel,eid)create procedure chaxun eno char(10) as select * from employee where eno=eno create procedure gengxinbno char(10),eno char(10),dno char(10) ,ename char(20),esex char(2),ebir char(20),ezhiwu char(10),exueli char(10),etel char(11),eid char(18)as update employee set eno=eno,dno=dno,ename=ename,esex=esex,ebir=ebir,ezhiwu=ezhiwu,exueli=exueli,etel=etel,eid=eidwhere eno=bnocreate procedure gengxin3eno char(10),ename char(20) ,data char(10),jiaoji char(4),zhuanye char(4),shenti char(4)as update kaohe set eno=eno,ename=ename,data=data,交際能力=jiaoji,專業(yè)技能=zhuanye,身體素質(zhì)=shenti where eno=eno and data=datacreate procedure guanliyuan5gno char(10),password char(10)as update guanliyuan set gpassword=password where gno=gno -and gpassword=passwordcreate procedure kcharueno char(10),ename char(20),data char(10),jineng1 char(10),jineng2 char(10),jineng3 char(10)as insert into kaohe values(eno,ename,data,jineng1,jineng2,jineng3) create procedure suangongzieno char(10),date char(2),gongzit char(5) outputas declare gongzi int,money1 int,money2 int,chidao int,shijia int,bingjia int,gongzi1 int,jmoney int,amoney int select chidao=chidao,bingjia =bingjia,shijia= shijia,gongzi1= gongzi,jmoney=jmoney,amoney=amoney from yuegongzi where eno=eno and jyuefen=date if chidao3begin set money1=(chidao-3)*10endelse set money1=0 set money2=(shijia+bingjia)*50 set gongzi=gongzi1+jmoney+amoney-money1-money2 set gongzit=convert(varchar(5),gongzi) print 錢+gongzitcreate procedure tianjia dno char(10) , dname char(20), dcount int, jianjie char(40)as insert into department values(dno,dname,dcount,jianjie)create procedure yuangong1yno char(10),password char(10)as update yuangong set ypassword=password where yno=ynocreate procedure yuangongaltereno char(10),ename char(10),esex char(2),etel char(11)asupdate employeeset ename=ename,esex=esex,etel=etelwhere eno=eno觸發(fā)器create trigger trig_lizhi on employee for delete as print 開始備份數(shù)據(jù),請稍后. if not exists(select * from sysobjects where name=lizhi) select * into lizhi from deleted else insert into lizhi select * from deleted print 備份數(shù)據(jù)成功,備份表中的數(shù)據(jù)為: select * from lizhi go create trigger trig_zhuanchu on employee for update as declare zhiwu char(10),no char(10) select zhiwu=ezhiwu ,no=dno from inserted create trigger trig_jiaban on yuegongzi for insert as select eno,ename,tianshu,ayuefen,amoney into jiaban from inserted select eno,ename,jmoney,jyuefen into jiangjin from inserted select eno,ename,jyuefen,chidao,bingjia,shijia 創(chuàng)建月工資表select jiaban.eno,jiaban.ename,salary.gongzi,jiaban.tianshu,jiaban.amoney,chuqin.chidao,chuqin.bingjia,chuqin.shijia,jiangjin.jmoney,jiangjin.jyuefeninto yuegongzi from jiaban,jiangjin,chuqin,salary where salary.eno=jiaban.eno and jiaban.eno=jiangjin.eno and jiangjin.eno=chuqin.eno and jiaban.ayuefen=chuqin.data and chuqin.data=jiangjin.jyuefengroup by salary.eno,jiaban.eno,jiangjin.eno,jiaban.tianshu,chuqin.eno,jiaban.ayuefen,chuqin.data,jiangjin.jyuefen,salary.gongzi,jiaban.amoney,chuqin.chidao,chuqin.bingjia,chuqin.shijia,jiangjin.jmoney,jiangjin.jyuefen,jiaban.ename主要的表1、出勤表2、部門表3、員工表4、管理員登入用戶表5、加班表6、獎(jiǎng)金表7、考核表8、離職表9、固定工資表10、員工登入表11、算工資的表12、轉(zhuǎn)出表五、系統(tǒng)實(shí)現(xiàn)與測試1、開發(fā)平臺和工具選擇說明選擇原因、環(huán)境要求等。2、系統(tǒng)測試連接數(shù)據(jù)庫的代碼:procedure tform1.button1click(sender: tobject);begindatamodule3.adoconnection1.close;datamodule3.adoconnection1.connectionstring:=provider=sqloledb.1;password=+edit3.text+;persist security info=true;user id=+edit2.text+;initial catalog=+combobox1.text+;data source=+edit1.text;datamodule3.adoquery1.connection:=datamodule3.adoconnection1;datamodule3.adoconnection1.loginprompt:=false;datamodule3.datasource1.dataset:=datamodule3.adoquery1;dbgrid1.datasource:=datamodule3.datasource1; form2.show;end;procedure tform1.combobox1dropdown(sender: tobject);var i:integer;begin datamodule3.adoconnection1.connectionstring:=provider=sqloledb.1;password=+edit3.text+;persist security info=true;user id=+edit2.text+;initial catalog=master;data source=+edit1.text;datamodule3.adoconnection1.loginprompt:=false;datamodule3.adoquery2.connection:=datamodule3.adoconnection1;datamodule3.adoconnection1.loginprompt:=false;datamodule3.adoquery2.close;datamodule3.adoquery2.sql.clear;datamodule3.adoquery2.sql.add(select * from sysdatabases); datamodule3.adoquery2.open;for i:=0 to datamodule3.adoquery2.recordcount-1 dobegin combobox1.items.add(datamodule3.adoquery2.fieldvaluesname);datamodule3.adoquery2.next;end;end;end.登入界面的代碼:procedure tform2.button1click(sender: tobject);begin if radiobutton1.checked then begin datamodule3.adoquery1.close; datamodule3.adoquery1.sql.clear; datamodule3.adoquery1.sql.add(select *from guanliyuan); datamodule3.adoquery1.sql.add(where gno=+edit1.text+ and gpassword=+edit2.text+); datamodule3.adoquery1.open; if datamodule3.adoquery1.recordcount0 then begin form1.hide; form4.show; end else showmessage(用戶名不存在或者權(quán)限錯(cuò)誤,請查證后輸入); edit2.clear end else if radiobutton2.checked then begin datamodule3.adoquery1.close; datamodule3.adoquery1.sql.clear; datamodule3.adoquery1.sql.add(select * from yuangong); datamodule3.adoquery1.sql.add(where yno=+edit1.text+ and ypassword=+edit2.text+); datamodule3.adoquery1.open; if datamodule3.adoquery1.recordcount0 then begin form1.hide; form5.show; end else showmessage(用戶名不存在或者權(quán)限錯(cuò)誤,請查證后輸入); edit2.clear; end;end;procedure tform2.button2click(sender: tobject);begin form2.close;end;end.代碼:procedure tform4.n2click(sender: tobject);begin form6.show;end;procedure tform4.radiobutton1click(sender: tobject);begin form6.show;end;procedure tform4.radiobutton2click(sender: tobject);begin form7.show;end;procedure tform4.radiobutton6click(sender: tobject);begin form4.close;end;procedure tform4.radiobutton3click(sender: tobject);begin form8.show; end;procedure tform4.radiobutton4click(sender: tobject);begin form12.show;end;procedure tform4.radiobutton5click(sender: tobject);begin form10.show;end;end.代碼:procedure tform5.radiobutton5click(sender: tobject);begin form5.close;end;procedure tform5.radiobutton1click(sender: tobject);begin form14.show; end;procedure tform5.radiobutton4click(sender: tobject);begin form17.show;end;procedure tform5.radiobutton3click(sender: tobject);begin form15.show;end;procedure tform5.radiobutton2click(sender: tobject);begin form16.show;end;end.代碼:procedure tform6.button5click(sender: tobject);beginform6.close;end;procedure tform6.button1click(sender: tobject);begin with datamodule3.adoquery3 do begin close; /修改sql語句之前先關(guān)閉query組件 sql.clear; / 清除舊的sql語句 sql.add(exec charu +edit1.text+,+edit2.text+,+edit3.text+,+edit4.text+,+edit5.text+,+edit6.text+,+edit7.text+,+edit8.text+,+edit9.text+); execsql; close; sql.clear; sql.add(select * from employee ); open; end;end;procedure tform6.button3click(sender: tobject);begin datamodule3.adoquery3.connection:=datamodule3.adoconnection1; datamodule3.datasource1.dataset:=datamodule3.adoquery3; dbgrid1.datasource:=datamodule3.datasource1; with datamodule3.adoquery3 do begin close; /修改sql語句之前先關(guān)閉query組件 sql.clear; / 清除舊的sql語句 sql.add(select *from employee); sql.add(where eno=+edit10.text+); open; end;end;procedure tform6.button2click(sender: tobject);begin with datamodule3.adoquery3 do begin close; /修改sql語句之前先關(guān)閉query組件 sql.clear; / 清除舊的sql語句 sql.add(exec gengxin +edit10.text+,+edit1.text+,+edit2.text+,+edit3.text+,+edit4.text+,+edit5.text+,+edit6.text+,+edit7.text+,+edit8.text+,+edit9.text+); execsql; close; sql.clear; sql.add(select * from employee ); sql.add(where eno=+edit10.text+); open; end;end;procedure tform6.button4click(sender: tobject);begin form11.show;end;procedure tform6.dbgrid1cellclick(column: tcolumn);begin edit1.text:=datamodule3.adoquery3.fieldbyname(eno).asstring; edit2.text:=datamodule3.adoquery3.fieldbyname(dno).asstring; edit3.text:=datamodule3.adoquery3.fieldbyname(ename).asstring; edit4.text:=datamodule3.adoquery3.fieldbyname(esex).asstring; edit5.text:=datamodule3.adoquery3.fieldbyname(ebir).asstring; edit6.text:=datamodule3.adoquery3.fieldbyname(ezhiwu).asstring; edit7.text:=datamodule3.adoquery3.fieldbyname(exueli).asstring; edit8.text:=datamodule3.adoquery3.fieldbyname(etel).asstring; edit9.text:=datamodule3.adoquery3.fieldbyname(eid).asstring;end;end.代碼:procedure tform7.button1click(sender: tobject);begin datamodule3.adoquery3.connection:=datamodule3.adoconnection1; datamodule3.datasource1.dataset:=datamodule3.adoquery3; dbgrid1.datasource:=datamodule3.datasource1; with datamodule3.adoquery3 do begin close; /修改sql語句之前先關(guān)閉query組件 sql.clear; / 清除舊的sql語句 sql.add(exec bumeninsert +edit1.text+,+edit2.text+,+edit3.text+,+memo1.lines0+); execsql; close; sql.clear; sql.add(select * from department ); open; end;end;procedure tform7.button2click(sender: tobject);begin with datamodule3.adoquery3 do begin close; /修改sql語句之前先關(guān)閉query組件 sql.clear; / 清除舊的sql語句 sql.add(exec bumengengxin1 +edit3.text+,+edit1.text+); execsql; close; sql.clear; sql.add(select * from department ); sql.add(where dno=+edit1.text+); open; end;end;procedure tform7.button3click(sender: tobject);begin datamodule3.adoquery3.connection:=datamodule3.adoconnection1; datamodule3.datasource1.dataset:=datamodule3.adoquery3; dbgrid1.datasource:=datamodule3.datasource1; with datamodule3.adoquery3 do begin close; /修改sql語句之前先關(guān)閉query組件 sql.clear; / 清除舊的sql語句 sql.add(select *from department); sql.add(where dno=+edit1.text+); open; end;end;procedure tform7.dbgrid1cellclick(column: tcolumn);begin edit1.text:=datamodule3.adoquery3.fieldbyname(dno).asstring; edit2.text:=datamodule3.adoquery3.fieldbyname(dname).asstring;edit3.text:=datamodule3.adoquery3.fieldbyname(dcount).asstring; memo1.lines0:=datamodule3.adoquery3.fieldbyname(djianjie).asstring; end;end.代碼:procedure tform8.button1click(sender: tobject);var a:string;begin datamodule3.adoquery3.connection:=datamodule3.adoconnection1; datamodule3.datasource1.dataset:=datamodule3.adoquery3; dbgrid1.datasource:=datamodule3.datasource1; /a:=combobox1.text; with datamodule3.adoquery3 do begin close; /修改sql語句之前先關(guān)閉query組件 sql.clear; / 清除舊的sql語句 sql.add(select * from yuegongzi); sql.add(where eno=+edit1.text+ and jyuefen=+edit10.text+); open; end;end;procedure tform8.dbgrid1cellclick(column: tcolumn);begin edit1.text:=datamodule3.adoquery3.fieldbyname(eno).asstring; edit2.text:=datamodule3.adoquery3.fieldbyname(ename).asstring; edit3.text:=datamodule3.adoquery3.fieldbyname(gongzi).asstring; edit4.text:=datamodule3.adoquery3.fieldbyname(tianshu).asstring; edit5.text:=datamodule3.adoquery3.fieldbyname(amoney).asstring; edit6.text:=datamodule3.adoquery3.fieldbyname(chidao).asstring; edit7.text:=datamodule3.adoquery3.fieldbyname(bingjia).asstring; edit8.text:=datamodule3.adoquery3.fieldbyname(shijia).asstring; edit9.text:=datamodule3.adoquery3.fieldbyname(jmoney).asstring; edit10.text:=datamodule3.adoquery3.fieldbyname(jyuefen).asstring; datamodule3.adostoredproc1.connection:=datamodule3.adoconnection1; datamodule3.datasource1.dataset:=datamodule3.adostoredproc1; dbgrid1.datasource:=datamodule3.datasource1; datamodule3.adostoredproc1.close; datamodule3.adostoredproc1.procedurename:=suangongzi; datamodule3.adostoredproc1.parameters.refresh; datamodule3.adostoredproc1.parameters.parambyname(eno).value:=edit1.text; datamodule3.adostoredproc1.parameters.parambyname(date).value:=edit10.text; datamodule3.adostoredproc1.parameters.parambyname(gongzit).value:=null;datamodule3.adostoredproc1.execproc; edit11.text:=inttostr(datamodule3.adostoredproc1.parameters.parambyname(gongzit).value);end;procedure tform8.button2click(sender: tobject);begin datamodule3.adoquery3.connection:=datamodule3.adoconnection1; datamodule3.datasource1.dataset:=datamodule3.adoquery3; dbgrid1.datasource:=datamodule3.datasource1; with datamodule3.adoquery3 do begin close; /修改sql語句之前先關(guān)閉query組件 sql.clear; / 清除舊的sql語句 sql.add(insert into yuegongzi); sql.add(values(+edit1.text+,+edit2.text+,+edit3.text+,+edit4.text+,+edit5.text+,+edit6.text+,+edit7.text+,+edit8.text+,+edit9.text+,+edit10.text+); execsql; close; sql.clear; sql.add(select * from yuegongzi ); open; end;end;end.代碼:procedure tform10.radiobutton2click(sender: tobject);begin form9.show; end;procedure tform10.radiobutton1click(sender: tobject);begin form13.show;end;procedure tform10.radiobutton3click(sender: tobject);begin form10.close;end;end.代碼:procedure tform11.button1click(sender: tobject);begindatamodule3.adoquery3.connection:=datamodule3.adoconnection1; datamodule3.datasource1.dataset:=datamodule3.adoquery3; dbgrid1.datasource:=datamodule3.datasource1; with datamodule3.adoquery3 do begin close; /修改sql語句之前先關(guān)閉query組件 sql.clear; / 清除舊的sql語句 sql.add(exec kcharu +edit1.text+,+edit2.text+,+edit3.text+,+edit4.text+,+edit5.text+,+edit6.text+); execsql; close; sql.clear; sql.add(select * from kaohe ); sql.add(where eno=+edit1.text+); open; end;end;procedure tform11.button2click(sender: tobject);var a:string;begin datamodule3.adoquery3.connection:=datamodule3.adoconnection1; datamodule3.datasource1.dataset:=datamodule3.adoquery3; dbgrid1.datasource:=datamodule3.datasource1; a:=combobox1.text; with datamodule3.adoquery3 do begin close; /修改sql語句之前先關(guān)閉query組件 sql.clear; / 清除舊的sql語句 sql.add(select *from kaohe); sql.add(where eno=+edit1.text+ and data=+a+); open; end;end;procedure tform11.button3click(sender: tobject);begin with datamodule3.adoquery3 do begin close; /修改sql語句之前先關(guān)閉query組件 sql.clear; / 清除舊的sql語句 sql.add(exec gengxin3 +edit1.text+,+edit2.text+,+edit3.text+,+edit4.text+,+edit5.text+,+edit6.text+); execsql; close; sql.clear; sql.add(select * from kaohe ); sql.add(where eno=+edit1.text+ and data=+edit3.text+); open; end;end;procedure tform11.dbgrid1cellclick(column: tcolumn);begin edit1.text:=datamodule3.adoquery3.fieldbyname(eno).ass

溫馨提示

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

評論

0/150

提交評論