[理學]數(shù)據(jù)庫課程設(shè)計報告_第1頁
[理學]數(shù)據(jù)庫課程設(shè)計報告_第2頁
[理學]數(shù)據(jù)庫課程設(shè)計報告_第3頁
[理學]數(shù)據(jù)庫課程設(shè)計報告_第4頁
[理學]數(shù)據(jù)庫課程設(shè)計報告_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫課程設(shè)計報告一、實驗課程任務(wù)與要求目的與任務(wù):1.掌握數(shù)據(jù)庫設(shè)計和實現(xiàn)的基本過程2.掌握數(shù)據(jù)庫模式設(shè)計、分析和實現(xiàn)的方法3.了解數(shù)據(jù)庫應用系統(tǒng)軟件開發(fā)的一般過程。實驗基本要求: (1)學習相關(guān)的預備知識(2)按照數(shù)據(jù)庫設(shè)計與實現(xiàn)過程完成數(shù)據(jù)庫的設(shè)計,應用程序的開發(fā),上機調(diào)試、運行(3)寫出課程設(shè)計報告二課程設(shè)計題目3人力資源管理系統(tǒng) 人力資源部門希望建立一個數(shù)據(jù)庫來管理它的員工。一個公司有幾個部門,而一個員工屬于一個部門。這個部門指派一個經(jīng)理來全面負責部門事務(wù)和部門員工。為了有助于管理好部門工作,某些工作人員被任命來管理一組人員。當有一個新的員工進入公司時,需要他以前的工作經(jīng)歷和成績。通

2、常來說,每個員工都要經(jīng)歷一次面試,這通常是由經(jīng)理來進行的。公司定義了一系列的職位類型,例如經(jīng)理、業(yè)務(wù)分析員、銷售人員和秘書,而且每個類型都有相關(guān)的等級,員工所處的位置決定了員工的工資。職位依據(jù)其工作量來分配給一個部門。例如,一個部門可能分配給兩個業(yè)務(wù)分析員的職位。每個崗位會分配給一個員工,隨著時間的過去,各個職位都會被分配給工作人員。三 需求分析與設(shè)計方案(1)能夠?qū)A(chǔ)信息管理,系統(tǒng)需要管理員和員工登錄(2)能夠發(fā)放工資,工資登記,獎金登記,獎金發(fā)放(3)能夠根據(jù)員工支付方式發(fā)放工資系統(tǒng)方案工資管理系統(tǒng)管理員界面基礎(chǔ)信息管理用戶界面業(yè)務(wù)系統(tǒng)四 數(shù)據(jù)庫設(shè)計(1)概念設(shè)計(e_r圖) (2)邏輯

3、設(shè)計部門編碼表列名數(shù)據(jù)類型長度范圍主鍵否標題外鍵create table dept(dnum char(5) check (dnum like 0-90-90-90-90-9)primary key,dname char(30) not null,dtel char(13) check(dtel like 00-90-90-9-0-90-90-90-90-90-90-9 or dtel like00-90-90-9-0-90-90-90-90-90-90-90-9 ),);員工編碼表列名數(shù)據(jù)類型長度范圍主鍵否標題外鍵create table emp (enum char(10) check (

4、enum like 0-90-90-90-90-90-90-90-90-90-9) primary key,ename char(20) not null,esex char(2) check (esex in (男,女) not null,eid char(18)check (eid like (0-90-90-90-90-90-90-90-90-90-90-90-90-90-90-90-90-90-9),emz char(14)not null,ezz char (8) not null,epnum char(12),eaddr char (50) not null,epsnum char

5、 (6)check ( epsnum like 0-90-90-90-90-90-9 ),ezc char(20) not null,edept char(5),eby int check(eby 0 and eby2000),exl char(20) ,foreign key(edept) references dept(dnum);銀行編碼表列名數(shù)據(jù)類型長度范圍主鍵否標題外鍵create table bank(banknum char(5) check ( banknum like0-90-90-90-90-9)primary key,bankname char(20),cardnumlo

6、ng int check (cardnumlong15);工資項目編碼表列名數(shù)據(jù)類型長度范圍主鍵否標題外鍵create table gongziitems(gznum char(5) check(gznum like0-90-90-90-90-9),gzname char(20) not null,dfje int ,statute int check(statute=0 or statute=1);支付方式種類編碼表列名數(shù)據(jù)類型長度范圍主鍵否標題外鍵create table zfzl(zfzlnum char(5) check (zfzlnum like0-90-90-90-90-9 )pr

7、imary key,zfznane char(10) not null,iscard char(1)check(iscard=0 or iscard=1);銀行支付編碼表列名數(shù)據(jù)類型長度范圍主鍵否標題外鍵create table bankzf(enum char(10) primary key,banknum char(5),cardnum char,foreign key(enum) references emp(enum),foreign key(banknum) references bank(banknum);支付方式編碼表列名數(shù)據(jù)類型長度范圍主鍵否標題外鍵create table e

8、zffs(enom char(10) ,zfzlnum char(5) ,foreign key(zfzlnum) references zfzl(zfzlnum),foreign key(enom) references emp(enum),primary key(zfzlnum,enom),);扣除項目編碼表列名數(shù)據(jù)類型長度范圍主鍵否標題外鍵create table kcitems(kcnum char(5) check(kcnum like0-90-90-90-90-9)primary key,kcname char(20) not null,dfje int ,statute int

9、check(statute=0 or statute=1);扣除工資編碼表列名數(shù)據(jù)類型長度范圍主鍵否標題外鍵create table kcgz(enum char(10),kcgznum char(5), je int,gzmonth int check(gzmonth between 1 and 12)foreign key(enum) references emp(enum),foreign key(kcgznum) references kcitems(kcnum),primary key(enum,kcgznum,gzmonth);獎金種類編碼表列名數(shù)據(jù)類型長度范圍主鍵否標題外鍵cre

10、ate table jjzl(jjnum char(5) check (jjnum like 0-90-90-90-90-9)primary key,jname char(10)not null,je int);獎金編碼表列名數(shù)據(jù)類型長度范圍主鍵否標題外鍵create table ejj(enum char(10),jjnum char(5),jjmonth int check (jjmonth between 1 and 12),je int,foreign key(enum) references emp(enum),foreign key (jjnum ) references jjzl

11、(jjnum),);實發(fā)工資編碼表列名數(shù)據(jù)類型長度范圍主鍵否標題外鍵create table sfgz(enum char(10),je int, gznum char(5)mth int check (mth between 1 and 12),foreign key(enum) references emp(enum),foreign key(gznum) references gongziitems(gznum),primary key (enum,mth,gznum);系統(tǒng)用戶編碼表列名數(shù)據(jù)類型長度范圍主鍵否標題外鍵create table userccount(uid char(10

12、) check (uid like 0-90-90-90-90-90-90-90-90-90-9)primary key,username char(50),isadmin char(1) check (isadmin=0 or isadmin=1),psd char(20),islogoned int check (islogoned=0 or islogoned=1),foreign key(uid) references emp(enum);(3) 數(shù)據(jù)處理五 程序設(shè)計 (1)界面設(shè)計(2)程序代碼/-file:unit1.h-#ifndef unit1h#define unit1h#i

13、nclude #include #include #include #include #include #include #include #include unit4.h#include unit3.h#include public.h extern string username; extern string userid;int isadmin;tstringlist *checkdblist=new tstringlist();-class tuserlogon : public tform_published:/ ide-managed components tlabel *labe

14、l1; tlabel *label2; tlabel *label3; tlabel *label5; tedit *edit1; tedit *edt_password; tedit *edt_name; tedit *edit5; tbutton *btn_close; tquery *system_query; tdatasource *datasourcesystem; tbutton *login; tdbtext *dbtext; tlabel *lb_logonfailhant; void _fastcall btn_closeclick(tobject *sender); vo

15、id _fastcall loginclick(tobject *sender);private:/ user declarationspublic:/ user declarations _fastcall tuserlogon(tcomponent* owner);extern package tuserlogon *userlogon;#endif/-file:unit1.cpp-#include #pragma hdrstop#include comobj.hpp#include unit6.h#include unit1.h#pragma package(smart_init)#pr

16、agma resource *.dfm string userid; string username;tuserlogon *userlogon;/-_fastcall tuserlogon:tuserlogon(tcomponent* owner) : tform(owner)/-void _fastcall tuserlogon:btn_closeclick(tobject *sender) userlogon-close();/-void _fastcall tuserlogon:loginclick(tobject *sender) int lg;string s;system_que

17、ry-active=false; system_query-sql-clear(); system_query-sql-add(use gzglxt; select count(*) lg from userccount where uid=:user and psd=:password) ; userid=edt_name-text; system_query-parambyname(user)-asstring=edt_name-text; system_query-parambyname(password)-asstring=edt_password-text; dbtext-dataf

18、ield=lg; system_query-open(); lg=strtoint(dbtext-field-asstring); if(lg=0) lb_logonfailhant-visible=true; edt_password-text=null; else system_query-sql-clear(); system_query-sql-add(use gzglxt; select isadmin lg from userccount where uid=:user and psd=:password); system_query-parambyname(user)-asstr

19、ing=edt_name-text; system_query-parambyname(password)-asstring=edt_password-text; dbtext-datafield=lg; system_query-open(); s=dbtext-field-asstring; isadmin=strtoint(s); system_query-sql-clear(); system_query-sql-add(use gzglxt; select ename from emp where enum=:user ); system_query-parambyname(user

20、)-asstring=edt_name-text; dbtext-datafield=ename; system_query-open(); username=dbtext-field-asstring; if(isadmin=0) userui-show(); userlogon-visible=false; if(isadmin=1) adminui-visible=true; userlogon-visible=false; system_query-sql-add(use gzglxt; select count(*) lg from userccount where uid=:use

21、r and psd=:password) ; edt_password-text=null;/-file:unit2.h-/-#ifndef unit2h#define unit2h/-#include #include #include #include #include #include #include #include #include #include #include #include #include /-class tbaseinfgl : public tform_published:/ ide-managed components tpanel *pl_baseinf; t

22、dbgrid *dbgrid_baseinf; tpanel *pl_baseinf_top; tdbnavigator *dbnavigator_baseinf; tpanel *pl_kcxm; tpanel *pl_zffs; tpanel *pl_gzxm; tpanel *pl_dept; tdbgrid *dbgrid_dept; tdbnavigator *dbnavigator_dept; tdbgrid *dbgrid_gzxm; tdbnavigator *dbnavigator_gzxm; tdbgrid *dbgrid_zffs; tpanel *pl_zffs_top

23、; tdbnavigator *dbnavigator_zffs; tdbcombobox *dbcombobox5; tdbgrid *dbgrid_kcxm; tdbnavigator *dbnavigator_kcxm; tpanel *pl_bank; tdbgrid *dbgrid_bank; tdbnavigator *dbnavigator_bank; tpanel *pl_jjxm; tdbgrid *dbgrid_jjxm; tdbnavigator *dbnavigator_jjxn; tpanel *pl_baseinfui_left; tspeedbutton *sbt

24、neinf; tspeedbutton *sbtndept; tspeedbutton *sbtnbank; tspeedbutton *sbtnzffs; tspeedbutton *sbtngzitems; tspeedbutton *sbtnjjitems; tspeedbutton *sbtnkcitems; tspeedbutton *sbtnccountinf; ttable *table_baseinf; tdatasource *datasource_baseinf; ttable *table_dept; tdatasource *datasource_dept; ttabl

25、e *table_bank; tdatasource *datasource_bank; tdatasource *datasourcegzxm; ttable *table_gzxm; ttable *table_jjxm; tdatasource *datasourcejjxm; tdatasource *datasource_kcxm; ttable *table_kcxm; tmainmenu *mainmenu_baseinf; tmenuitem *n1; tmenuitem *n1_relogon; tmenuitem *n1_back; tmenuitem *n1_quit;

26、tmenuitem *n2; tmenuitem *n_einf; tmenuitem *n2_dept; tmenuitem *n2_bank; tmenuitem *n2_zffs; tmenuitem *n2_gzxm; tmenuitem *n2_count; tmenuitem *n2_jjxm; tmenuitem *n2_cqgl; tmenuitem *n2kcxm; tmenuitem *n3; tmenuitem *n3_about; tpanel *sys_contro; tdbgrid *dbgrid_baseinf_dept; void _fastcall sbtne

27、infclick(tobject *sender); void _fastcall formactivate(tobject *sender); void _fastcall sbtndeptclick(tobject *sender); void _fastcall sbtnbankclick(tobject *sender); void _fastcall sbtnzffsclick(tobject *sender); void _fastcall sbtnccountinfclick(tobject *sender); void _fastcall sbtngzitemsclick(to

28、bject *sender); void _fastcall sbtnjjitemsclick(tobject *sender); void _fastcall sbtnkcitemsclick(tobject *sender); void _fastcall n1_relogonclick(tobject *sender); void _fastcall n1_backclick(tobject *sender); void _fastcall n1_quitclick(tobject *sender); void _fastcall sys_controclick(tobject *sen

29、der); void _fastcall formclose(tobject *sender, tcloseaction &action);private:/ user declarationspublic:/ user declarations _fastcall tbaseinfgl(tcomponent* owner);/-extern package tbaseinfgl *baseinfgl;/-#endif/-file:unit2.cpp-#include #pragma hdrstop#include unit1.h#include unit2.h#include unit3.h

30、/-#pragma package(smart_init)#pragma resource *.dfmtbaseinfgl *baseinfgl;/-_fastcall tbaseinfgl:tbaseinfgl(tcomponent* owner) : tform(owner)/-void _fastcall tbaseinfgl:sbtneinfclick(tobject *sender)pl_baseinf-align=alclient; pl_baseinf-visible=true; pl_kcxm-visible=false; pl_zffs-visible=false; pl_d

31、ept-visible=false; pl_gzxm-visible=false; pl_bank-visible=false; pl_jjxm-visible=false;/-void _fastcall tbaseinfgl:formactivate(tobject *sender)pl_baseinf-visible=false; pl_kcxm-visible=false; pl_zffs-visible=false; pl_dept-visible=false; pl_gzxm-visible=false; pl_bank-visible=false; pl_jjxm-visible

32、=false;/-void _fastcall tbaseinfgl:sbtndeptclick(tobject *sender) pl_dept-align=alclient; pl_baseinf-visible=false; pl_kcxm-visible=false; pl_zffs-visible=false; pl_dept-visible=true; pl_gzxm-visible=false; pl_bank-visible=false; pl_jjxm-visible=false;/-void _fastcall tbaseinfgl:sbtnbankclick(tobjec

33、t *sender) pl_bank-align=alclient; pl_baseinf-visible=false; pl_kcxm-visible=false; pl_zffs-visible=false; pl_dept-visible=false; pl_gzxm-visible=false; pl_bank-visible=true; pl_jjxm-visible=false;/-void _fastcall tbaseinfgl:sbtnzffsclick(tobject *sender) pl_zffs-align=alclient; pl_baseinf-visible=f

34、alse; pl_kcxm-visible=false; pl_zffs-visible=true; pl_dept-visible=false; pl_gzxm-visible=false; pl_bank-visible=false; pl_jjxm-visible=false;/-void _fastcall tbaseinfgl:sbtnccountinfclick(tobject *sender) pl_zffs-align=alclient; pl_baseinf-visible=false; pl_kcxm-visible=false; pl_zffs-visible=true;

35、 pl_dept-visible=false; pl_gzxm-visible=false; pl_bank-visible=false; pl_jjxm-visible=false;/-void _fastcall tbaseinfgl:sbtngzitemsclick(tobject *sender) pl_gzxm-align=alclient; pl_baseinf-visible=false; pl_kcxm-visible=false; pl_zffs-visible=false; pl_dept-visible=false; pl_gzxm-visible=true; pl_ba

36、nk-visible=false; pl_jjxm-visible=false;/-void _fastcall tbaseinfgl:sbtnjjitemsclick(tobject *sender) pl_jjxm-align=alclient; pl_baseinf-visible=false; pl_kcxm-visible=false; pl_zffs-visible=false; pl_dept-visible=false; pl_gzxm-visible=false; pl_bank-visible=false; pl_jjxm-visible=true;/-void _fast

37、call tbaseinfgl:sbtnkcitemsclick(tobject *sender)pl_kcxm-align=alclient; pl_baseinf-visible=false; pl_kcxm-visible=true; pl_zffs-visible=false; pl_dept-visible=false; pl_gzxm-visible=false; pl_bank-visible=false; pl_jjxm-visible=false;/-void _fastcall tbaseinfgl:n1_relogonclick(tobject *sender) user

38、logon-show(); baseinfgl-visible=false; userid=;/-void _fastcall tbaseinfgl:n1_backclick(tobject *sender) adminui-show(); baseinfgl-visible=false;/-void _fastcall tbaseinfgl:n1_quitclick(tobject *sender) userlogon-close();/-void _fastcall tbaseinfgl:sys_controclick(tobject *sender) if(pl_baseinfui_left-wi

溫馨提示

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

評論

0/150

提交評論