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

下載本文檔

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

文檔簡介

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

2、報表輸出。3、E-R圖:三、數(shù)據(jù)表:info - |sno|sname|sex|age|depart|price|exp|home|health|grade|class|other| - course - |cno|cname|teacher| - exam - |sno|cno|score| - info Column Name    Date Type    Width    空值情況 Sno     

3、               Char    20    主關(guān)鍵字 Sname                    Char   

4、0;10    不為空 Sex                     Char    2    不為空 age              

5、      Numeric    4    可為空 Depart                    Char    10    不為空 Prize  

6、60;                 Char    200    可為空 Home                    Char &#

7、160;  200    可為空 Health            &nb sp;       Char    200    可為空 Other         

8、0;          Char    200    可為空 Grade                    Char    3    不

9、為空 Class                    Char    3    不為空exam Column Name    Date Type    Width    空值情況

10、 Sno                    Char    20    主關(guān)鍵字 Cno&nb sp;                 &

11、#160; Char    20    不為空 Score                    Char    3    可為空 course Column Name    Da

12、te Type    Width    空值情況 Cno               Char    20    主關(guān)鍵字 Cname            &

13、#160;  Char    10    不為空 Teacher      & nbsp;Char    5    不為空 對于關(guān)系模式info(|sno|sname|sex|age|depart|price|exp|home|health|grade|class|other|)假定也具有唯一性,那么info就有兩個碼,這兩個碼都由單個屬性組成,彼此

14、不相交。其它屬性不存在對碼的傳遞依賴與部分依賴,又因為info中除學(xué)號、外沒有其它的因素,所以info屬于BCNF。對于關(guān)系模式course(|cno|cname|teacher|)中,它只有一個碼,這里沒有任何屬性對課程號部分依賴或傳遞依賴,同時課程號是唯一的決定因素,所以課程屬于BCNF。對于關(guān)系模式exam(|sno|cno|score|)有兩個碼,這兩個碼都由單個屬性組成,彼此不相交,其它屬性不存在對碼的傳遞依賴與部分依賴,又因為成績中除學(xué)號、課程號外沒有其它的決定因素,所以成績屬于BCNF。 四、視圖,索引,數(shù)據(jù)庫權(quán)限: create view temp 

15、;(sno,sname,cname,score) as select info.sno,info.sname,ame,exam.score  from info,exam,course where info.sno=exam.sno and o=o CREATE UNIQUE INDEX STUSNO ON&nb sp;info(sno); GRANT SELECT ON TABLE examTO PUBLIC; 五、

16、軟件功能設(shè)計 功能表: |-系統(tǒng)維護(下設(shè)系統(tǒng)退出)      |-信息錄入(下設(shè)學(xué)生基本信息錄入|學(xué)生成績錄入)      |-信息查詢(下設(shè)學(xué)生基本信息查詢|學(xué)生成績查詢*) |-報表 功能描述:退出系統(tǒng):退出程序。 學(xué)生數(shù)據(jù)輸入:輸入學(xué)號、性別、年齡、出生年月等學(xué)生基本信息。 成績輸入:輸入各學(xué)期學(xué)生考試成績。 學(xué)生信息查詢:查詢學(xué)生基本信息。 學(xué)生成績查詢:查詢學(xué)生考試成績。 按年級輸出報表:輸出全年級學(xué)生各科目考試成績。 按班級輸出報表:輸出全班學(xué)生各科目考試成績。六、程序代碼與控件描

17、述 啟動封面:(w_start) Open事件代碼: SQLCA.dbms="ODBC" SQLCA.database="" SQLCA.userid="" SQLCA.dbpass="" SQLCA.logid="" SQLCA.logpass="" SQLCA.dbparm="ConnectString='DSN=student;UID=dba;PWD=sql'" SQLCA.lock="" SQLCA.autoco

18、mmit=false connect using SQLCA; IF SQLCA.Sqlcode & lt;> 0 then         messagebox("無法連接數(shù)據(jù)庫!",SQLCA.sqlerrtext)         close(w_start) /    else / &#

19、160;      open(w_startscc)          end if CommandButton.text=“進入系統(tǒng)” CommandButton clicked事件代碼: open(w_main) close(w_start) 主程序窗口(w_main): title=“學(xué)生信息管理系統(tǒng) V1.0” 包含菜單m_main 窗口(w_infoinput) Open事件代碼:    

20、; 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(dw_1.GetRow() commandbu tton

21、(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屬性:取消)click

22、ed事件的代碼: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

23、屬性:查詢)clicked事件的代碼: Connect; if SQLCA.SQLCode<0 then     MessageBox("連接錯誤",SQLCA.SQLErrText,Exclamation!) end if /Mess ageBox("done",SQLCA.SQLErrText,Exclamation!) int     Stu_id string  Stu_name,Stu_xuehao,

24、Stu_sex,Stu_age,Stu_home string  Stu_birth,Stu_depart,Stu_price,Stu_info,Stu_health Stu_id=Integer(sle_id.Text) select info.sno,info.sname,info.sex,info.age,         info.depart,info.prize,info.exp,info.home,       

25、  info.health,info.grade,info.class,info.other                  Into :Stu_sno,:Stu_sname,:Stu_sex,:Stu_age,                 :

26、Stu_depart,:Stu_prize, :Stu_exp,:Stu_home,                 :Stu_health,:Stu_grade:Stu_class, :Stu_other         ; From student Where info.sno=:Stu_id; 

27、0;                IF SQLCA.SQLCode=100 THEN     MessageBox("學(xué)生查詢","對不起,沒有該學(xué)生") ELSEIF SQLCA.SQLCode>0 THEN     MessageBox("數(shù)據(jù)庫錯誤",SQ

28、LCA.SQLErrText,Exclamation!) END IF 窗口(w_squery) 控件groupbox(text屬性為:“選擇查詢模式”)包含2個RadioButton控件,它們的text屬性分別為按年級查詢和按班級查詢 控件SingleLineEdit(text屬性為Null)功能為獲得輸入的年級/班級編號 控件CommandButton(text屬性為確定)的Clicked事件代碼: integer n integer slen slen=Len(sle_1.text) n=asc(sle_1.text)-48 if (slen>

29、;1 or slen=0) then     messagebox("錯誤","數(shù)據(jù)非法!")     sle_1.text="" elseif  (n<1 or n>9) then      messagebox("錯誤","數(shù)據(jù)非法!") end if connect

30、60;using SQLCA; if rb_1.checked=true then  select info.sno,info.sname,o,ame,exam.score        from info,course,exam         where info.sno =exam.sno and ,o =o and

31、60;info.grade=n end if if rb_2.checked=true then select info.sno,info.sname,o,ame,exam.score        from info,course,exam         where info.sno =exam.sno and ,o =o and info.class=n end if 窗口(w_table) 控件groupbox(text屬性為:“選擇模式”)包含2個RadioButton控件,它們的text屬性分別為按年級輸出和按班級輸出 控件SingleLineEdit(text屬性為Null)功能為獲得輸入的年級/班級編號 控件CommandBu tton(text屬性為確定)的Clicked事件代碼: integer n integer slen s

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論