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

下載本文檔

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

文檔簡介

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

2、力和創(chuàng)新能力。設計環(huán)境:本學期學習了pb,在這里就采用pb環(huán)境進行數(shù)據(jù)庫原理課程設計。二、需求分析1、問題的提出:為了對數(shù)據(jù)庫的學習進行深入的理解和使用,做一個高效率的學生信息管理管理系統(tǒng),進行本次的數(shù)據(jù)庫課程設計。2、需完成的功能: 通過對學校日常教學管理中的課程、選課、學生、班級、教師、成績等相關內(nèi)容進行分析,完成具有學生管理、成績管理、班級管理、教師管理、課程管理等相關功能的小型數(shù)據(jù)庫管理應用系統(tǒng)。3、e-r圖:課程信息表學分教師號課程號課程名學時學生信息表學號姓名專業(yè)年齡系別性別選課成績課程號學號教師信息表教師號教師名教師性別教課教師系別成績?nèi)?shù)據(jù)表:數(shù)據(jù)項是數(shù)據(jù)庫的關系中不可再分的

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

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

5、r(10)主關鍵字cno課程名char(10)不能為空degree成績char(10)不能為空四、視圖,索引,數(shù)據(jù)庫權限:createviewtemp(sno,sname,cname,score)asselectinfo.sno,info.sname,ame,exam.scorefrominfo,exam,coursewhereinfo.sno=o=ocreateuniqueindexstusnooninfo(sno);grantselectontableexamtopublic;五、軟件功能設計功能表: 系統(tǒng)維護(下設系統(tǒng)退出) 信息錄入(下設學生基本信息錄入|學生成績錄入) 信息查詢(下設

6、學生基本信息查詢|學生成績查詢*) 報表功能描述:退出系統(tǒng):退出程序。學生數(shù)據(jù)輸入:輸入學號、姓名、性別、年齡、出生年月等學生基本信息。成績輸入:輸入各學期學生考試成績。學生信息查詢:查詢學生基本信息。學生成績查詢:查詢學生考試成績。按年級輸出報表:輸出全年級學生各科目考試成績。按班級輸出報表:輸出全班學生各科目考試成績。六、程序代碼及控件描述啟動封面:(w_start)open事件代碼:sqlca.dbms=odbcsqlca.database=sqlca.userid=sqlca.dbpass=sqlca.logid=sqlca.logpass=sqlca.dbparm=connectst

7、ring=dsn=student;uid=dba;pwd=sqlsqlca.lock=sqlca.autocommit=falseconnectusingsqlca;ifsqlca.sqlcode0thenmessagebox(無法連接數(shù)據(jù)庫!,sqlca.sqlerrtext)close(w_start)/else/open(w_startscc)endifcommandbutton.text=“進入系統(tǒng)”commandbuttonclicked事件代碼:open(w_main)close(w_start)主程序窗口(w_main):title=“學生信息管理系統(tǒng)”包含菜單m_main窗口(

8、w_infoinput)open事件代碼:dw_1.settransobject(sqlca)dw_1.retrieve()控件datawindow的dataobject屬性:i_info(一個freeform風格的數(shù)據(jù)窗口對象,顯示info表的全部列)commandbutton(text屬性:保存)clicked事件的代碼:dw_1.update()commandbutton(text屬性:取消)clicked事件的代碼:dw_1.retrieve()commandbutton(text屬性:插入)clicked事件的代碼:dw_1.insertrow(dw_1.getrow()comman

9、dbutton(text屬性:刪除)clicked事件的代碼:dw_1.deleterow(dw_1.getrow()窗口(w_scoreinput)open事件代碼:dw_1.settransobject(sqlca)dw_1.retrieve()控件datawindow的dataobject屬性:i_score(一個freeform風格的數(shù)據(jù)窗口對象,顯示exam表的全部列)commandbutton(text屬性:保存)clicked事件的代碼:dw_1.update()commandbutton(text屬性:取消)clicked事件的代碼:dw_1.retrieve()command

10、button(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事件的代碼:connect;ifsqlca.sq

11、lcode0thenmessagebox(數(shù)據(jù)庫錯誤,sqlca.sqlerrtext,exclamation!)endif窗口(w_squery)控件groupbox(text屬性為:“選擇查詢模式”)包含2個radiobutton控件,它們的text屬性分別為按年級查詢和按班級查詢控件singlelineedit(text屬性為null)功能為獲得輸入的年級/班級編號控件commandbutton(text屬性為確定)的clicked事件代碼:integernintegerslenslen=len(sle_1.text)n=asc(sle_1.text)-48if(slen1orslen=

12、0)thenmessagebox(錯誤,數(shù)據(jù)非法!)sle_1.text=elseif(n9)thenmessagebox(錯誤,數(shù)據(jù)非法!)endifconnectusingsqlca;ifrb_1.checked=truethenselectinfo.sno,info.sname,o,ame,exam.scorefrominfo,course,examwhereinfo.sno=exam.snoand,o=oandinfo.grade=nendififrb_2.checked=truethenselectinfo.sno,info.sname,o,ame,exam.scorefrominf

13、o,course,examwhereinfo.sno=exam.snoand,o=oandinfo.class=nendif窗口(w_table)控件groupbox(text屬性為:“選擇模式”)包含2個radiobutton控件,它們的text屬性分別為按年級輸出和按班級輸出控件singlelineedit(text屬性為null)功能為獲得輸入的年級/班級編號控件commandbutton(text屬性為確定)的clicked事件代碼:integernintegerslenslen=len(sle_1.text)n=asc(sle_1.text)-48if(slen1orslen=0)t

14、henmessagebox(錯誤,數(shù)據(jù)非法!)sle_1.text=elseif(n9)thenmessagebox(錯誤,數(shù)據(jù)非法!)endifconnectusingsqlca;ifrb_1.checked=truethenselect*fromdep_exam,infowhereinfo.grade=nendififrb_2.checked=truethenselect*fromdep_exam,infowhereinfo.class=n主菜單(m_main)代碼:退出系統(tǒng)clicked事件的代碼:close(w_main)學生基本信息輸入clicked事件的代碼:open(w_info

15、input)學生成績輸入clicked事件的代碼:open(w_scoreinput)學生基本信息查詢clicked事件的代碼:open(w_query)學生成績查詢clicked事件的代碼:open(w_squery)報表clicked事件的代碼:open(w_table)七、設計心得 通過這次課程設計,學到很多很多以前沒有接觸過的東西,除了提高了自己開發(fā)數(shù)據(jù)庫系統(tǒng)的能力,培養(yǎng)了多方面思考問題的能力,是我這次課程設計最大的收獲。在設計的過程中遇到過各種各樣的問題,因為這個學期初次接觸powerbuilder,而且在平常的上機實驗過程中沒有涉及到學習過這個軟件,一開始確實是感覺到不知所措,無從下手,但是借助參考圖書館的資料和以前別人開發(fā)的例子,還是慢慢的對它熟悉起來,最終完成了學校日程管理系統(tǒng)課程設計。 通過這次課程設計加深了我對數(shù)據(jù)庫基礎理論和基本知識的理解,使我很好的掌握了數(shù)據(jù)庫應用系統(tǒng)設計開發(fā)的基本方法,并且提高了我綜合運用所學知識和增強實際動手能力。 通過這個設計,我了解到一個大型的計算機管理系統(tǒng)必須有一個正確的設計指導思想,通過合理的選擇數(shù)據(jù)結構,操作系統(tǒng)以及開發(fā)環(huán)境,構成一個完善的系統(tǒng),才能充分發(fā)揮計算機信息管理優(yōu)勢。因為數(shù)據(jù)庫的設計

溫馨提示

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

評論

0/150

提交評論