劉文洲數據庫課程設計_第1頁
劉文洲數據庫課程設計_第2頁
劉文洲數據庫課程設計_第3頁
劉文洲數據庫課程設計_第4頁
劉文洲數據庫課程設計_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數據庫原理課程設計一、概述 數據庫的普及,學校利用數據庫,設計的學生管理系統,大大減少了學校學生管理的工作量。通過對學校日常教學管理中的課程、選課、學生、班級、教師、成績等相關內容進行分析,完成具有學生管理、成績管理、班級管理、教師管理、課程管理等相關功能的小型數據庫管理應用系統。 通過課程設計,使學生掌握數據庫的基本概念,結合實際的操作和設計,鞏固課堂教學內容,使學生掌握數據庫系統的基本概念、原理和技術,將理論與實際相結合,應用現有的數據建模工具和數據庫管理系統軟件,規范、科學地完成一個小型數據庫的設計與實現,把理論課與實驗課所學內容做一綜合,并在此基礎上強化學生的實踐意識、提高其實際動手能

2、力和創新能力。設計環境:本學期學習了PB,在這里就采用PB環境進行數據庫原理課程設計。二、需求分析1、 問題的提出:為了對數據庫的學習進行深入的理解和使用,做一個高效率的學生信息管理管理系統,進行本次的數據庫課程設計。2、 需完成的功能: 通過對學校日常教學管理中的課程、選課、學生、班級、教師、成績等相關內容進行分析,完成具有學生管理、成績管理、班級管理、教師管理、課程管理等相關功能的小型數據庫管理應用系統。3、E-R圖:課程信息表學分教師號課程號課程名學時學生信息表學號姓名專業年齡系別性別選課成績課程號學號教師信息表教師號教師名教師性別教課教師系別成績三、數據表:數據項是

3、數據庫的關系中不可再分的數據單位,下表分別列出了數據的名稱、數據類型、長度、取值能否為空。設計學生成績管理數據庫,包括課程、學生、教師、成績四個關系, 其關系模式中對每個實體定義的屬性如下:課程信息表course:(課程號,課程名,教師號,學分,學時)學生信息表info:(學號,姓名,性別,年齡,專業,系別)成績信息表Exam:(學號號,課程名,成績)教師信息表Teacher:(教師號,教師名,教師性別,教師系別)1、課程信息表(course)字段名描述數據類型字段限制cno課程號char(10)主關鍵字cname課程名char(10)不能為空teano教師號char(10)不能為空credi

4、t學分char(4)不能為空ctime學時char(50)不能為空2、學生信息表(info)字段名描述數據類型字段權限sno學號char(10)主關鍵字sname姓名char(10)不能為空ssex性別char(2)不能為空sage 年齡char(2)不能為空major專業char(10)不能為空depart系別char(10)不能為空3.教師表(teacher)字段名屬 性數據類型字段權限teano教師號char(10)主關鍵字tname教師名char(10)不能為空Tsex教師性別char(2)不能為空Tdepart教室系別char(10)不能為空4.成績表(Exam)字段名屬 性數據類型

5、字段權限sno學號char(10)主關鍵字cno課程名char(10)不能為空degree成績char(10)不能為空四、視圖,索引,數據庫權限:create view temp (sno,sname,cname,score)as select info.sno,info.sname,ame,exam.score from info,exam,course where info.sno=exam.sno and o=oCREATE UNIQUE INDEX 

6、;STUSNO ON info(sno);GRANT SELECT ON TABLE examTO PUBLIC;五、軟件功能設計功能表: 系統維護(下設系統退出)   信息錄入(下設學生基本信息錄入|學生成績錄入)    信息查詢(下設學生基本信息查詢|學生成績查詢*) 報表功能描述:退出系統:退出程序。學生數據輸入:輸入學號、姓名、性別、年齡、出生年月等學生基本信息。成績輸入:輸入各學期學生考試成績。學生信息查詢:查詢學生基本信息。學生成績查詢:查詢學生考試成績。按年級輸

7、出報表:輸出全年級學生各科目考試成績。按班級輸出報表:輸出全班學生各科目考試成績。六、程序代碼及控件描述啟動封面:(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'&

8、quot;SQLCA.lock=""SQLCA.autocommit=falseconnect using SQLCA;IF SQLCA.Sqlcode <> 0 then        messagebox("無法連接數據庫!",SQLCA.sqlerrtext)        close(w_start)/ &#

9、160;  else/        open(w_startscc)        end ifCommandButton.text=“進入系統”CommandButton clicked事件代碼:open(w_main)close(w_start)主程序窗口(w_main):title=“學生信息管理系統”包含菜單m_main窗口(w_infoinput)Open事件代碼: 

10、0;  dw_1.SetTransObject(SQLCA)dw_1.Retrieve()控件datawindow的dataobject屬性:i_info(一個freeform風格的數據窗口對象,顯示info表的全部列)commandbutton(text屬性:保存)clicked事件的代碼:dw_1.Update()commandbutton(text屬性:取消)clicked事件的代碼:dw_1.Retrieve()commandbutton(text屬性:插入)clicked事件的代碼:dw_1.InsertRow(dw_1.GetRow()commandbutton

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

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

13、onnect;if SQLCA.SQLCode<0 then    MessageBox("連接錯誤",SQLCA.SQLErrText,Exclamation!)end if/MessageBox("done",SQLCA.SQLErrText,Exclamation!)int     Stu_idstring  Stu_name,Stu_xuehao,Stu_sex,Stu_age,Stu_homestri

14、ng  Stu_birth,Stu_depart,Stu_price,Stu_info,Stu_healthStu_id=Integer(sle_id.Text)select info.sno,info.sname,info.sex,info.age,        info.depart,info.prize,info.exp,info.home,        info.health,info.grad

15、e,info.class,info.other                Into :Stu_sno,:Stu_sname,:Stu_sex,:Stu_age,                :Stu_depart,:Stu_prize, :Stu_exp

16、,:Stu_home,                :Stu_health,:Stu_grade:Stu_class, :Stu_other        From student Where info.sno=:Stu_id;       

17、60;        IF SQLCA.SQLCode=100 THEN    MessageBox("學生查詢","對不起,沒有該學生")ELSEIF SQLCA.SQLCode>0 THEN    MessageBox("數據庫錯誤",SQLCA.SQLErrText,Exclamation!)END IF窗口(w_s

18、query)控件groupbox(text屬性為:“選擇查詢模式”)包含2個RadioButton控件,它們的text屬性分別為按年級查詢和按班級查詢控件SingleLineEdit(text屬性為Null)功能為獲得輸入的年級/班級編號控件CommandButton(text屬性為確定)的Clicked事件代碼:integer ninteger slenslen=Len(sle_1.text)n=asc(sle_1.text)-48if (slen>1 or slen=0) then   

19、0;messagebox("錯誤","數據非法!")    sle_1.text=""elseif  (n<1 or n>9) then    messagebox("錯誤","數據非法!")end ifconnect using SQLCA;if rb_1.checked=true then s

20、elect info.sno,info.sname,o,ame,exam.score       from info,course,exam        where info.sno =exam.sno and ,o =o and info.grade=nend ifif rb_2.checked=true thenselec

21、t info.sno,info.sname,o,ame,exam.score       from info,course,exam        where info.sno =exam.sno and ,o =o and info.class=nend if窗口(w_table)控件groupbox(text屬性為:“選擇模式”)包含2個Rad

22、ioButton控件,它們的text屬性分別為按年級輸出和按班級輸出控件SingleLineEdit(text屬性為Null)功能為獲得輸入的年級/班級編號控件CommandButton(text屬性為確定)的Clicked事件代碼:integer ninteger slenslen=Len(sle_1.text)n=asc(sle_1.text)-48if (slen>1 or slen=0) then    messagebox("錯誤","數據非法!&q

23、uot;)    sle_1.text=""elseif  (n<1 or n>9) then    messagebox("錯誤","數據非法!")end ifconnect using SQLCA;if rb_1.checked=true thenselect * from dep_exam,info where info.grade=nend ifif rb_2.checked=true thenselect * from dep_exam,info where info.class=n主菜單(m_main)代碼:退出系統clicked事件的代碼:close(w_main)學生基本信息輸入clicked事件的代碼:Op

溫馨提示

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

最新文檔

評論

0/150

提交評論