數(shù)據(jù)庫課程設(shè)計(jì)之學(xué)生信息管理系統(tǒng)_第1頁
數(shù)據(jù)庫課程設(shè)計(jì)之學(xué)生信息管理系統(tǒng)_第2頁
數(shù)據(jù)庫課程設(shè)計(jì)之學(xué)生信息管理系統(tǒng)_第3頁
數(shù)據(jù)庫課程設(shè)計(jì)之學(xué)生信息管理系統(tǒng)_第4頁
數(shù)據(jù)庫課程設(shè)計(jì)之學(xué)生信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫課程設(shè)計(jì)學(xué)生信息治理系統(tǒng) 一、概述 1、項(xiàng)目背景:數(shù)據(jù)庫原理課程設(shè)計(jì) 2、編寫目的:掌握數(shù)據(jù)庫設(shè)計(jì)原理及相關(guān)軟件的使用 3、軟件定義:學(xué)生信息治理系統(tǒng) 4、開發(fā)環(huán)境:Powerbuilder9.0 二、需求分析 1、問題的提出:為了高效率的完成學(xué)生信息的治理,決定開發(fā)學(xué)生信息治理系統(tǒng)。 2、需完成的功能: (1)能錄入、修改、查詢、輸出學(xué)生的檔案信息,這些信息包括學(xué)生的差不多情況、簡歷情況、獲得獎勵情況、受到處分情況、學(xué)生的家庭信息、學(xué)生的體檢情況等。 (2)能錄入、修改、查詢、輸出學(xué)生的入校成績、各學(xué)期各門課的成績信息,并支持按年級、班級等條件的統(tǒng)計(jì)、查詢、報表輸出。 3、E-R圖:

2、三、數(shù)據(jù)表: info - |sno|sname|sex|age|depart|price|exp|home|health|grade|class|other| - course - |cno|cname|teacher| - exam - |sno|cno|score| - info ColumnNameDateTypeWidth空值情況 SnoChar20主關(guān)鍵字 SnameChar10不為空 Sex Char2不為空 ageNumeric4可為空 DepartChar10不為空 PrizeChar200可為空 HomeChar200可為空 Health&nb sp;Char200可為空

3、OtherChar200可為空 GradeChar3不為空 ClassChar3不為空 exam ColumnNameDateTypeWidth空值情況 SnoChar20主關(guān)鍵字 Cno&nb sp;Char20不為空 ScoreChar3可為空 course ColumnNameDateTypeWidth空值情況 Cno Char20 主關(guān)鍵字 CnameChar10 不為空 Teacher& nbsp;Char5 不為空 關(guān)于關(guān)系模式info(|sno|sname|sex|age|depart|price|exp|home|health|grade|class|other|)假定姓名也具

4、有唯一性,那么info就有兩個碼,這兩個碼都由單個屬性組成,彼此不相交。其它屬性不存在對碼的傳遞依靠與部分依靠,又因?yàn)閕nfo中除學(xué)號、姓名外沒有其它的因素,因此info屬于BCNF。關(guān)于關(guān)系模式course(|cno|cname|teacher|)中,它只有一個碼,那個地點(diǎn)沒有任何屬性對課程號部分依靠或傳遞依靠,同時課程號是唯一的決定因素,因此課程屬于BCNF。關(guān)于關(guān)系模式exam(|sno|cno|score|)有兩個碼,這兩個碼都由單個屬性組成,彼此不相交,其它屬性不存在對碼的傳遞依靠與部分依靠,又因?yàn)槌煽冎谐龑W(xué)號、課程號外沒有其它的決定因素,因此成績屬于BCNF。 四、視圖,索引,數(shù)據(jù)

5、庫權(quán)限: createviewtemp(sno,sname,cname,score) asselectinfo.sno,info.sname,ame,exam.score frominfo,exam,coursewhereinfo.sno=o=o CREATEUNIQUEINDEXSTUSNOON&nb sp;info(sno); GRANTSELECTONTABLEexamTOPUBLIC; 五、軟件功能設(shè)計(jì) 功能表: |-系統(tǒng)維護(hù)(下設(shè)系統(tǒng)退出) |-信息錄入(下設(shè)學(xué)生差不多信息錄入|學(xué)生成績錄入) |-信息查詢(下設(shè)學(xué)生差不多信息查詢|學(xué)生成績查詢*) |-報表 功能描述: 退出系統(tǒng):退

6、出程序。 學(xué)生數(shù)據(jù)輸入:輸入學(xué)號、姓名、性不、年齡、出生年月等學(xué)生差不多信息。 成績輸入:輸入各學(xué)期學(xué)生考試成績。 學(xué)生信息查詢:查詢學(xué)生差不多信息。 學(xué)生成績查詢:查詢學(xué)生考試成績。 按年級輸出報表:輸出全年級學(xué)生各科目考試成績。 按班級輸出報表:輸出全班學(xué)生各科目考試成績。 六、程序代碼及控件描述 啟動封面:(w_start) Open事件代碼: SQLCA.dbms=ODBC SQLCA.database= SQLCA.userid= SQLCA.dbpass= SQLCA.logid= SQLCA.logpass= SQLCA.dbparm=ConnectString=DSN=stud

7、ent;UID=dba;PWD=sql SQLCA.lock= SQLCA.autocommit=false connectusingSQLCA; IFSQLCA.Sqlcode& lt;0then messagebox(無法連接數(shù)據(jù)庫!,SQLCA.sqlerrtext) close(w_start) /else /open(w_startscc) endif CommandButton.text=“進(jìn)入系統(tǒng)” CommandButtonclicked事件代碼: open(w_main) close(w_start) 主程序窗口(w_main): title=“學(xué)生信息治理系統(tǒng)V1.0” 包

8、含菜單m_main 窗口(w_infoinput) Open事件代碼: dw_1.SetTransObject(SQLCA) dw_1.Retrieve() 控件datawindow的dataobject屬性:i_info(一個freeform風(fēng)格的數(shù)據(jù)窗口對象,顯示info表的全部列) commandbutton(text屬性:保存)clicked事件的代碼:dw_1.Update() commandbutton(text屬性:取消)clicked事件的代碼:dw_1.Retrieve() commandbutton(text屬性:插入)clicked事件的代碼:dw_1.InsertRow

9、(dw_1.GetRow() commandbu tton(text屬性:刪除)clicked事件的代碼:dw_1.DeleteRow(dw_1.GetRow() 窗口(w_scoreinput) Open事件代碼: dw_1.SetTransObject(SQLCA) dw_1.Retrieve() 控件datawindow的dataobject屬性:i_score(一個freeform風(fēng)格的數(shù)據(jù)窗口對象,顯示exam表的全部列) commandbutton(text屬性:保存)clicked事件的代碼:dw_1.Update() commandbutton(text屬性:取消)clicke

10、d事件的代碼:dw_1.Retrieve() commandbutton(text屬性:插入)clicked事件的代碼:dw_1.InsertRow(dw_1.GetRow() commandbutton(text屬性:刪除)clicked事件的代碼:dw_1.DeleteRow(dw_1.GetRow() 窗口(w_query) 控件statictext的text屬性:“請輸入學(xué)號:” 控件groupbox包含24個statictext控件,它們的text屬性分不對應(yīng)info表的字段名和查詢結(jié)果 控件SingleLineEdit的text屬性為null commandbutton(text屬

11、性:查詢)clicked事件的代碼: Connect; ifSQLCA.SQLCode0THEN MessageBox(數(shù)據(jù)庫錯誤,SQLCA.SQLErrText,Exclamation!) ENDIF 窗口(w_squery) 控件groupbox(text屬性為:“選擇查詢模式”)包含2個RadioButton控件,它們的text屬性分不為按年級查詢和按班級查詢 控件SingleLineEdit(text屬性為Null)功能為獲得輸入的年級/班級編號 控件CommandButton(text屬性為確定)的Clicked事件代碼: integern integerslen slen=Len

12、(sle_1.text) n=asc(sle_1.text)-48 if(slen1orslen=0)then messagebox(錯誤,數(shù)據(jù)非法!) sle_1.text= elseif(n9)then messagebox(錯誤,數(shù)據(jù)非法!) endif connectusingSQLCA; ifrb_1.checked=truethen selectinfo.sno,info.sname,o,ame,exam.score frominfo,course,exam whereinfo.sno=exam.snoand,o=oandinfo.grade=n endif ifrb_2.chec

13、ked=truethen selectinfo.sno,info.sname,o,ame,exam.score frominfo,course,exam whereinfo.sno=exam.snoand,o=oandinfo.class=n endif 窗口(w_table) 控件groupbox(text屬性為:“選擇模式”)包含2個RadioButton控件,它們的text屬性分不為按年級輸出和按班級輸出 控件SingleLineEdit(text屬性為Null)功能為獲得輸入的年級/班級編號 控件CommandBu tton(text屬性為確定)的Clicked事件代碼: intege

14、rn integerslen slen=Len(sle_1.text) n=asc(sle_1.text)-48 if(slen1orslen=0)then messagebox(錯誤,數(shù)據(jù)非法!) sle_1.text= elseif(n9)then messagebox(錯誤,數(shù)據(jù)非法!) endif connectusingSQLCA; ifrb_1.checked=truethen select*fromdep_exam,infowhereinfo.grade=n endif ifrb_2.checked=truethen select*fromdep_exam,infowhereinfo.class=n 主菜單(m_main)代碼: 退出系統(tǒng)clicked事件的代碼:close(w_main) 學(xué)生差不多信息輸入clicked事件的代碼:Open(w_infoinput) 學(xué)生成績輸入clicked事件的代碼:Open(w_scoreinput) 學(xué)生差不多信息查詢clicked事件的代碼:Open(w_query) 學(xué)生成績查詢clicked事件的代碼:Open(w_squery) 報表clicked事件的代碼:Open(w_tabl

溫馨提示

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

最新文檔

評論

0/150

提交評論