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

下載本文檔

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

文檔簡介

1、武漢理工大學(xué)華夏學(xué)院課程設(shè)計報告書課程名稱:數(shù)據(jù)庫系統(tǒng)原理課程設(shè)計 題 目:學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫設(shè)計 系 名: 信息工程系 專業(yè)班級: 軟件1111班 姓 名: 學(xué) 號: 指導(dǎo)教師: 張玉蓉 2013年 12 月 27日武漢理工大學(xué)華夏學(xué)院信息工程系課 程 設(shè) 計 任 務(wù) 書課程名稱: 數(shù)據(jù)庫課程設(shè)計 指導(dǎo)教師: 張玉蓉 班級名稱: 軟件1111 開課系、教研室: 軟件與信息安全 一、課程設(shè)計目的與任務(wù)數(shù)據(jù)庫課程設(shè)計是數(shù)據(jù)庫原理與應(yīng)用課程的后續(xù)實踐課程,旨在通過一周的實踐訓(xùn)練,加深學(xué)生對理論課程中數(shù)據(jù)庫的基礎(chǔ)知識,原理和使用方法的理解,加強學(xué)生綜合運用sql語言以及數(shù)據(jù)庫設(shè)計進行實際應(yīng)用,包

2、括數(shù)據(jù)庫設(shè)計,數(shù)據(jù)庫實現(xiàn),sql語言查詢和sql server數(shù)據(jù)庫應(yīng)用及管理的能力,進一步提高學(xué)生進行數(shù)據(jù)庫設(shè)計,分析問題和解決問題的能力。學(xué)生將在指導(dǎo)老師的指導(dǎo)下,完成從需求分析,總體設(shè)計,實現(xiàn)到測試的全過程。二、課程設(shè)計的內(nèi)容與基本要求本課程設(shè)計將設(shè)計和開發(fā)一個小型的數(shù)據(jù)庫實用系統(tǒng)。要求數(shù)據(jù)功能模塊劃分合理,數(shù)據(jù)庫表設(shè)計合理,查詢語句優(yōu)化,數(shù)據(jù)處理正確。根據(jù)所學(xué)的數(shù)據(jù)庫原理與程序設(shè)計的知識,能夠針對一個小型的圖書管理系統(tǒng),進行數(shù)據(jù)庫系統(tǒng)的需求分析,概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、物理結(jié)構(gòu)設(shè)計,數(shù)據(jù)錄入及測試等,完成題目要求的功能。主要任務(wù):() 需求分析 根據(jù)設(shè)計任務(wù)書給出的背景資料,查找相

3、關(guān)資料,結(jié)合自己的生活經(jīng)驗,對數(shù)據(jù)和處理過程進行分析,編寫詳細的數(shù)據(jù)詞典(如數(shù)據(jù)項、記錄的說明、它們的標識符、同義名及有關(guān)信息)。寫出需求分析說明,包括系統(tǒng)的功能分析、系統(tǒng)的功能模塊設(shè)計、數(shù)據(jù)庫的數(shù)據(jù)字典、數(shù)據(jù)流圖等。() 概念結(jié)構(gòu)設(shè)計說明本數(shù)據(jù)庫將反映的現(xiàn)實世界中的實體、屬性和它們之間的關(guān)系等的原始數(shù)據(jù)形式,包括各數(shù)據(jù)項、記錄、表的標識符、定義、類型、度量單位和值域,建立本數(shù)據(jù)庫的每一幅用戶視圖和全局視圖(E-R圖,可以用基本E-R圖或擴展E-R圖),消除不必要的冗余。() 邏輯結(jié)構(gòu)設(shè)計與物理結(jié)構(gòu)設(shè)計將概念結(jié)構(gòu)映射為數(shù)據(jù)庫全局邏輯結(jié)構(gòu)(關(guān)系模型),包括所確定的關(guān)鍵字和屬性、重新確定的記錄結(jié)構(gòu)

4、和所建立的各個表文件之間的相互關(guān)系。其中提請注意: a. 關(guān)系模式的優(yōu)化 指出關(guān)系模式的范式級別及設(shè)計原則 b安全保密設(shè)計 說明在數(shù)據(jù)庫的設(shè)計中,將如何通過區(qū)分不同的訪問者、不同的訪問類型和不同的數(shù)據(jù)對象,進行分別對待而獲得的數(shù)據(jù)庫安全保密的設(shè)計考慮。 c物理結(jié)構(gòu)設(shè)計 說明在數(shù)據(jù)庫的設(shè)計中,是否需要索引及如何設(shè)置索引,設(shè)置索引的原則。 目錄1 概述.41.1設(shè)計題目.41.2可行性分析.42 需求分析.43 概念結(jié)構(gòu)設(shè)計.43.1開發(fā)工具. 43.2.1功能模塊. 43.2.2功能描述. 43.2.3功能結(jié)構(gòu)圖.54 邏輯結(jié)構(gòu)設(shè)計.54.1數(shù)據(jù)分析.54.2數(shù)據(jù)庫E-R圖.55 物理結(jié)構(gòu)設(shè)計.

5、65.1數(shù)據(jù)庫表設(shè)計.65.2數(shù)據(jù)庫表.76 實現(xiàn)及測試.97 結(jié)論:特點和不足.148 心得體會.159 參考文獻.161.概述1.1設(shè)計題目: 學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫設(shè)計 1.2可行性分析整個項目開發(fā)過程中,主要從經(jīng)濟可行性和技術(shù)可行性來分析:經(jīng)濟可行性:系統(tǒng)開發(fā)過程中,所需要的工具如計算機等所有工具均有自己承擔(dān)技術(shù)可行性:目前該小組已經(jīng)掌握java語言,能熟練編寫jsp,數(shù)據(jù)庫的設(shè)計與維護,軟件工程,在開發(fā)過程中對遇到未知的技術(shù)問題還將會進行深一步的學(xué)習(xí)與研究。2.需求分析 能實現(xiàn)對數(shù)據(jù)庫的增刪查改操作,能登陸學(xué)生系統(tǒng),完成對學(xué)生系統(tǒng)的操作,能實現(xiàn)數(shù)據(jù)庫的調(diào)用和存儲。 本需求分析包含了初

6、步分析設(shè)計各功能模塊、提供性能要求、對用戶影響的信息、以及對各功能模塊功能的描述;同時也是規(guī)范開發(fā)人員進行設(shè)計和部署實施的基礎(chǔ)和依據(jù),為整體工作組的工作流程做出明確指導(dǎo),引導(dǎo)工作組員之間、工作組員與用戶之間的溝通。最終作為總體審核、驗證、確認和結(jié)項驗收的依據(jù);為開發(fā)方與客戶方提供合法的合同保障。3.概念結(jié)構(gòu)設(shè)計3.1開發(fā)工具Windows環(huán)境下使用Myeclipse和mysql3.2.1功能模塊功能一:管理員 CRUD學(xué)生信息 CRUD教師信息 CRUD課程信息 課程和老師分配功能二:老師 添加/修改/刪除/查詢學(xué)生成績 查詢學(xué)生 查詢所帶課程功能三:學(xué)生 查詢成績 查詢課程/選課 個人信息管

7、理3.2.2 功能描述功能編號1-1功能名稱學(xué)生信息管理功能描述:管理員登錄之后,添加學(xué)生信息,添加到系統(tǒng)的學(xué)生才能夠進行使用此系統(tǒng)進行選課、查詢成績等功能輸入項學(xué)號、姓名、性別、年齡、院系、專業(yè)輸出項操作提示: 圖13.2.3項目結(jié)構(gòu)圖增刪查改學(xué)生信息查詢成績學(xué)生管理學(xué)生成績管理系統(tǒng)管理員 老師學(xué)生老師管理課程管理查看課程學(xué)生成績選課增刪查改老師信息增刪查改課程信息增刪查改學(xué)生信息 圖24.邏輯結(jié)構(gòu)設(shè)計4.1數(shù)據(jù)分析管理員(用戶名,密碼)老師(工號,姓名,密碼,性別,年齡,課程方向,備注信息)學(xué)生(學(xué)號,姓名,密碼,性別,年齡,院系,專業(yè),備注信息)課程(課程號,課程名,學(xué)分,課時)成績(課

8、程號,學(xué)號,分數(shù))老師-課程(工號,課程號)學(xué)生-課程(學(xué)號,課程號) 4.2數(shù)據(jù)庫E-R圖管理員老師課程學(xué)生成績管理管理管理登陸查詢管理選擇產(chǎn)生 圖35.物理結(jié)構(gòu)設(shè)計5.1數(shù)據(jù)庫表設(shè)計表1: tb_admin表字段類型約束說明idint主鍵,自動增長管理員信息主鍵usernamevarcharNOT NULL管理員用戶名passwordvarcharNOT NULL管理員密碼表2: tb_teacher表字段類型約束說明idchar(7)主鍵老師工號,登錄用戶名namevarchar(30)NOT NULL老師真實姓名passwordvarchar(16)NOT NULL老師登錄密碼sexc

9、har(2)NOT NULL性別ageint年齡course_directionvarchar(30)NOT NULL課程方向descvarchar(200)描述信息表3:tb_student表字段類型約束說明snumchar(11)主鍵學(xué)號,登錄用戶名namevarchar(30)NOT NULL真實姓名passwordvarchar(16)NOT NULL登錄密碼sexchar(2)NOT NULL性別ageint年齡departmentvarchar(30)NOT NULL學(xué)生所屬的院系majorvarchar(30)NOT NULL學(xué)生所屬的專業(yè)descvarchar(200)描述信息

10、表4:tb_course表字段類型約束說明course_numchar(10)主鍵課程編號course_namevarchar(50)NOT NULL課程名course_xfnumberNOT NULL學(xué)分course_ksintNOT NULL課時表5:tb_grade表字段類型約束說明grade_course_numchar(10)聯(lián)合主鍵,外鍵關(guān)聯(lián)tb_course(course_num)grade_student_numchar(11)聯(lián)合主鍵,外鍵關(guān)聯(lián)tb_student(snum)grade_scoreintnot null表6:tb_teacher_course表字段類型約束說明

11、teacher_idchar(7)老師工號course_numchar(10)課程號表7:tb_student_course表字段類型約束說明student_numchar(11)學(xué)生學(xué)號course_numchar(10)課程號 5.2數(shù)據(jù)庫表 圖4 圖5 圖6 圖7 圖86.實現(xiàn)及測試 6.1功能實現(xiàn)截圖第一步:登陸學(xué)生管理系統(tǒng) 圖9第二步:輸入密碼和學(xué)號 圖10第三步:添加學(xué)生信息 圖11第四步:填寫學(xué)生信息 圖12第五步:添加學(xué)生信息成功 圖13第六步;添加老師信息 圖14第七步:分配教師信息成功 圖15分配教師課程可以選擇課程編號和工號: 圖16添加學(xué)生信息列表 圖17刪除其中一條信

12、息,系統(tǒng)會提示是否刪除 圖137.結(jié)論:特點和不足7.1特點: 通過以下程序鏈接數(shù)據(jù)庫public class DBManager /* 準備連接數(shù)據(jù)庫的字符串 */ 數(shù)據(jù)庫不同,那么數(shù)據(jù)庫的DRIVER和URL也不相同/ 數(shù)據(jù)庫連接驅(qū)動(我們連接任何一種數(shù)據(jù)庫都需要驅(qū)動jar包)private static final String DRIVER = "com.mysql.jdbc.Driver"private static final String URL = "jdbc:mysql:/localhost:3306/db_sgms"private s

13、tatic final String USERNAME = "root"private static final String PASSWORD = "123"/ 在靜態(tài)塊中通過反射機制加載驅(qū)動static try Class.forName(DRIVER); catch (Exception e) /通過驅(qū)動管理器獲取數(shù)據(jù)庫連接public static Connection getConn()Connection conn = null;try conn = DriverManager.getConnection(URL,USERNAME,PASSW

14、ORD); catch (Exception e) e.printStackTrace();return conn;7.2不足之處:還有一部分功能未能完成,例如,學(xué)生登陸界面么有做,老師登陸界面沒有完成,另外許多界面沒有優(yōu)化,沒有達到好的效果,不能給人以美感。8.心得體會總的來說這次計算機網(wǎng)絡(luò)課程設(shè)計讓我收獲良多,這次又讓我們重新認識了數(shù)據(jù)庫,以前我們也做過數(shù)據(jù)庫的實驗,不過我都是零散的東西,但這次我們系統(tǒng)的完成了學(xué)生成績管理系統(tǒng)的操作,學(xué)到了很多以前沒學(xué)到的東西,同時也明白了我們真正要學(xué)的東西還很多,不要因為考試通過了就放松學(xué)習(xí)。 這次的實訓(xùn)同樣是由外面的老師帶領(lǐng)我們來做,因此我們更深層次的

15、了解整個過程的操作流程,認識到了各個代碼的作用,如何調(diào)用數(shù)據(jù)庫,如何完整的將數(shù)據(jù)存儲到數(shù)據(jù)庫中來,同時讓我們認識了這么新的課程,給了我們以后更大的發(fā)展空間,另外我也感覺這次的課程設(shè)計老師很負責(zé),給我們很多自由練習(xí)的機會。 另外,我們常常因為一個小錯誤,吃了很多苦,常常是一個單詞的錯誤而走了很多彎路,程序不能正常運行,搞得很窩火,但凡事有苦也會有甜,看著自己的寫的程序能正常運行,在自己手里一點一點的寫出來,并能展示出結(jié)果,我心里有說不出來的高興,確實我也學(xué)到了很多,以前沒學(xué)好的,現(xiàn)在得到了鞏固,而且我發(fā)現(xiàn)我們也需要細心和耐性,我想這也是這次實訓(xùn)的目的,我也能體會到老師的用心良苦,數(shù)據(jù)庫對我們來說

16、也是一門基礎(chǔ),這樣做也是為了讓我們更好掌握它,也為了我們在以后的學(xué)習(xí)中更好的發(fā)揮。 最后,雖然程序大體運行的沒有問題,但也存在很多實際問題沒解決,如果真正要把它運用于實際還很難,畢竟我們學(xué)的知識還不夠完善,不能將設(shè)計做的盡善盡美。9.參考文獻10.1 周緒SQL Server2000入門與提高(中文版)北京:清華大學(xué)出版社,2004年2月10.2 于松濤SQL Server2000數(shù)據(jù)庫管理與開發(fā)技術(shù)大全北京:人民郵電出版社,2005年5月10.3 Steven Feuerstein Oracle PL/SQL最佳實踐北京:機械工業(yè)出版社,2009年10.4 黃河 racle9iForWindowsNT_2000數(shù)據(jù)庫系統(tǒng)培訓(xùn)教程北京:清華大學(xué)出版社,2005年設(shè)計過程及答辯回答問題記載:(至少三個問題)1.問:數(shù)據(jù)庫不同,那么數(shù)據(jù)庫的DRIVER和URL也相同嗎? 答:不會相同2問:數(shù)據(jù)庫連接驅(qū)動程序是? 答:private static final String DRIVER = "com.mysql.jdbc.Driver" private static final String

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論