版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 數(shù)學(xué)與計算機(jī)學(xué)院課程設(shè)計說明書課 程 名 稱: JAVA數(shù)據(jù)庫網(wǎng)絡(luò)綜合課程設(shè)計 課 程 代 碼: 題 目: 選修課程管理系統(tǒng) 年級/專業(yè)/班: 2012級計科3班 學(xué) 生 姓 名: 徐茂淋 學(xué) 號: 312012080605326 開 始 時 間: 2014 年 12 月 2 日完 成 時 間: 2014 年 12 月 28 日課程設(shè)計成績:學(xué)習(xí)態(tài)度及平時成績(20)技術(shù)水平與實際能力(20)完成情況(20)創(chuàng)新(5) 說明書(計算書、圖紙、分析報告)撰寫質(zhì)量(35)總 分(100) 選修課程管理系統(tǒng)指導(dǎo)教師簽名: 年 月 日 數(shù)學(xué)與計算機(jī)學(xué)院課程設(shè)計 任務(wù)書( 2014/ 2015學(xué)年 第
2、1學(xué)期 )專 業(yè): 計算機(jī)科學(xué)與技術(shù) 年 級: 2012 課程名稱: JAVA數(shù)據(jù)庫網(wǎng)絡(luò)綜合課程設(shè)計 課程代碼: 選修課程管理系統(tǒng)一、設(shè)計題目 選修管理系統(tǒng)二、主要內(nèi)容調(diào)查學(xué)校教務(wù)處,設(shè)計用于管理全校學(xué)生選修課活動的系統(tǒng)。主要功能有:1. 全校選修計劃課程管理;2. 全校選修開課課程管理;3. 全校學(xué)生選課管理;4. 全校選修課成績管理;5. 打印報表;6. 系統(tǒng)維護(hù),如數(shù)據(jù)安全管理(含備份與恢復(fù))、操作員管理、權(quán)限設(shè)置等;要求:1. 設(shè)計學(xué)生選課錄入界面及學(xué)生選課查詢界面;2. 設(shè)計課程輸入界面和學(xué)生選課表及課程選修情況查詢界面;3. 根據(jù)學(xué)生庫和課程庫,輸出學(xué)生課程表(選課沖突時按學(xué)號分配
3、課程);三、具體要求1. 對系統(tǒng)作需求分析和數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計。2. 設(shè)計出ER模型,并完整標(biāo)明每個實體型的相關(guān)屬性,推薦使用Erwin實現(xiàn)。3. 利用前臺開發(fā)工具,完成對每個實體型中實體數(shù)據(jù)的查詢和編輯操作,并提供相應(yīng)的界面。4. 源代碼格式規(guī)范,注釋不少于三分之一.5. 提交完整程序代碼、課程設(shè)計報告及相關(guān)文檔;給出系統(tǒng)需求分析和數(shù)據(jù)庫 選修課程管理系統(tǒng)6. 邏輯結(jié)構(gòu)設(shè)計 ;總結(jié)開發(fā)語言與后臺數(shù)據(jù)庫之間的連接形式 ;總結(jié)程序開發(fā)過程中系統(tǒng)函數(shù)、存儲過程、觸發(fā)器等后臺數(shù)據(jù)庫對象在開發(fā)過程中的調(diào)用情況(如果沒有使用,可不寫);設(shè)計中遇到的問題,設(shè)計的心得體會;調(diào)試所遇到的問題等。四、成果及應(yīng)提
4、交材料1 源程序一份2 課程設(shè)計報告一份五、主要技術(shù)路線提示后臺推薦采用SQL server或Oracle;前臺開發(fā)環(huán)境為JAVA。用前臺開發(fā)工具開發(fā)相應(yīng)系統(tǒng),學(xué)習(xí)開發(fā)工具與數(shù)據(jù)庫的連接,可采用ADO,ODBC,OLE DB或JDBC連接數(shù)據(jù)庫,并調(diào)用系統(tǒng)存儲過程、自定義存儲過程、函數(shù)等。六、進(jìn)度安排第12周: 數(shù)據(jù)庫系統(tǒng)概念模型、數(shù)據(jù)模型設(shè)計,創(chuàng)建數(shù)據(jù)庫以及相關(guān)對象;第13周: 前臺程序開發(fā),撰寫報告,接受檢查。七、推薦參考資料1. 王珊、薩師煊,數(shù)據(jù)庫系統(tǒng)概論,高等教育出版社. 2006.52. 李剛等,Java程序員之旅-Java數(shù)據(jù)庫技術(shù)詳解,化學(xué)工業(yè)出版社,2011.43、
5、姜中華,劉小春,Java 數(shù)據(jù)庫應(yīng)用程序設(shè)計,機(jī)械工業(yè)出版社,2008.44、軟件開發(fā)技術(shù)聯(lián)盟,Java Web開發(fā)實踐,清華大學(xué)出版社,2013.9指導(dǎo)教師 簽名日期 年 月 日系 主 任 審核日期 年 月 日 選修課程管理系統(tǒng) 目錄1相關(guān)專業(yè)背景功能 - 12需求分析 - 43概念模型與E-R圖_134E-R模型轉(zhuǎn)換 -14 5數(shù)據(jù)庫設(shè)計與建立 -176、連接數(shù)據(jù)庫-237. 個人總結(jié)-248參考文獻(xiàn) -2525 選修課程管理系統(tǒng)一、選修課管理系統(tǒng)的相關(guān)背景功能選修課管理系統(tǒng)是一個面向?qū)W校教務(wù)管理人員、教師和學(xué)生并為其提供服務(wù)的管理系統(tǒng)。選修課管理系統(tǒng)所經(jīng)歷的三個階段一、沒有電腦的年代,網(wǎng)
6、上選課根本不存在,當(dāng)時學(xué)生根據(jù)自己的愛好興趣等方面,先選擇相應(yīng)的課程,然后由班級上報院系,再通過人工整理所上報的信息的辦法,決定每個人的選課信息以及任課老師所教的課程,也就是說幾乎談不上選修課管理系統(tǒng)這么一說。二、每個院系有了為數(shù)不多的幾臺電腦后,班級上報院系的信息,由院系先在電腦上登記,最后交給教務(wù)處,教務(wù)處通過選修課管理系統(tǒng)(還不夠完善),經(jīng)過審核決定最終結(jié)果并公布;三、電腦普及率很高,也就是現(xiàn)在這樣,網(wǎng)上選課已不成問題,教務(wù)處直接通過選修課管理系統(tǒng),了解與審核選課信息,最終決定最后的結(jié)果并公布。有關(guān)選修課的概念與定義選修課與“必修課”相對。主要指高等學(xué)校和中等專業(yè)學(xué)校中學(xué)習(xí)某一專業(yè)的學(xué)生
7、可以有選擇地學(xué)習(xí)的課程。在教學(xué)計劃中一般不作硬性規(guī)定。分限制性選修課程(某些特定專業(yè)指定選修課程,對該專業(yè)來說可視為必修課)和非限制性選修課程(任意專業(yè)選修課程)兩種。一般大學(xué)的課程都分為校定必修,院定必修,限選課和任選課這四種,你可以根據(jù)你的愛好來選擇選修課,也可以選一些專業(yè)方面的課程來修。選修課不能全都選,學(xué)校有規(guī)定一學(xué)期最高能修多少個學(xué)分,你不能超出這個限制。開設(shè)選修課的意義選修課的開設(shè)是基于社會對復(fù)合型人才的需求,旨在加強(qiáng)大學(xué)生人文素質(zhì)和科學(xué)素質(zhì)的養(yǎng)成和提高,培養(yǎng)全面發(fā)展的高素質(zhì)人才。要對學(xué)生的公共選修課進(jìn)行管理,每學(xué)期由教務(wù)處依據(jù)教學(xué)計劃列出所開設(shè)的選修課程,學(xué)生自主選課,教務(wù)處根據(jù)
8、選課情況進(jìn)行調(diào)整,最后確定選修各門課程的學(xué)生名單,并對選修課進(jìn)行排課和對選修課成績進(jìn)行登記??稍O(shè)置學(xué)生可選修的課程范圍以及選修的約束條件。可指定范圍內(nèi)的學(xué)分約束及課程門數(shù)約束,可指定選修課教師的開設(shè)班級的約束條件,開設(shè)班級的人數(shù)限制。約束條件將作為學(xué)生在網(wǎng)上選課審核的標(biāo)準(zhǔn)。應(yīng)實時顯示選課沖突信息。網(wǎng)上選課的好處: 大學(xué)期間總會有很多公共選修課,以往的選課方法是隨堂報名。這種方法雖然直接,但是造成選課的盲目性,有些課堂選課時人滿為患,有些課堂無人選課。原因是傳統(tǒng)的選課方法沒有預(yù)見性,大家沒有事先協(xié)調(diào)好。使用了網(wǎng)上選課系統(tǒng)以后,可以在開課前就在網(wǎng)上選課,每個學(xué)生的課程在開課前就確定好,不用浪費(fèi)體力
9、去選課,還可以使教學(xué)資源合理平均地分配。 學(xué)校的選修課網(wǎng)上選課報名問題: 教師網(wǎng)上登記選修課(課程審核) 學(xué)生網(wǎng)上選課 報名名單調(diào)整 導(dǎo)出全校選課報名報表等等選修課管理系統(tǒng)的功能1.選課。學(xué)生能夠在網(wǎng)上實現(xiàn)正常學(xué)期的本專業(yè)本年級推薦選課、本院系開設(shè)課程、體育課、政治課、公共英語課、文科計算機(jī)課、通選課和公選課的選課;2成績查詢。學(xué)生能夠在網(wǎng)上快速、便捷地查詢到自己所有學(xué)期的課程成績(包括本院系所學(xué)課程成績、輔修/雙學(xué)位成績)。3選課情況查詢。學(xué)生從網(wǎng)上就可以了解自己的選課情況(包括正常學(xué)期和暑期學(xué)校的選課),避免了許多不必要的麻煩。4退課情況查詢。學(xué)生可以清楚地查看到自己退課的時間和所用的IP
10、地址。5體育課評估。6修改密碼。此功能更加完善了系統(tǒng)的功能。7用戶注銷。不僅方便用戶退出系統(tǒng)重新進(jìn)行別的操作,而且更為重要的是它能夠及時保證用戶在使用此系統(tǒng)時的安全性。 系統(tǒng)設(shè)置:系統(tǒng)管理員配置相關(guān)信息,包括教師登記課程時間范圍,學(xué)生選課時間范圍,每班最多人數(shù),選修課上課日期,選課學(xué)生范圍等;教師登記課程:開課教師在規(guī)定的時間內(nèi)登記自己要開設(shè)的選修課程;學(xué)生選課:學(xué)生在規(guī)定的選課時間內(nèi)自由選課報名,在規(guī)定時間內(nèi),可以退選、補(bǔ)選、改選課程;選課調(diào)整:學(xué)生選課期截止后,系統(tǒng)管理員可以根據(jù)學(xué)生本人、班主任或者任課教師的要求針對個別學(xué)生的選課進(jìn)行調(diào)整,包括強(qiáng)制選課、退選、換選三種;生成報表:
11、自動生成EXCEL報表,包括學(xué)生本人的選課列表、給班主任的選課名單和給上課教師的報名名單選修課管理系統(tǒng)的使用說明一、學(xué)生選課1) 學(xué)生登陸2) 進(jìn)行初選,復(fù)選,補(bǔ)退選3) 查詢選課情況,上課時間、地點與上課老師4) 修改登陸密碼,添加或刪除選課的相關(guān)信息5) 查詢成績二、教師查詢1) 教師登陸2) 查詢課程信息(上課時間、地點以及課程是否被取消,查詢選擇自己課程的學(xué)生清單)3) 修改登陸密碼4) 登記學(xué)生成績?nèi)⒐芾韱T對選修課管理1) 設(shè)置學(xué)生可選修的課程范圍以及選課的約束條件2) 添加課程,修改密碼、瀏覽選課情況、關(guān)閉選課人數(shù)不足15的課程3) 對選修課進(jìn)行排課登記選修課的成績現(xiàn)行選修課管理
12、系統(tǒng)的特點· 完全基于瀏覽器的操作界面,操作簡便 · 靈活的選課管理、靈活選課配置、課程審核設(shè)置、學(xué)生范圍限定等 · 嚴(yán)格的選課匹配 · 教師限時課程登記 · 學(xué)生限時網(wǎng)上選課 · 保證選課學(xué)生在班級之間均勻分布,杜絕過分集中 · 管理員可以調(diào)整學(xué)生選課名單 · 輕松導(dǎo)出各類選課報表預(yù)測選修課管理系統(tǒng)的發(fā)展隨著科學(xué)技術(shù)的不斷進(jìn)步,電腦將會基本普及,各種系統(tǒng)的完善程度將會大幅提高,上一個新臺階,到那時,我想選修課管理系統(tǒng)也將更靈活,操作更簡單,更人性化與智能化。二、需求分析 學(xué)生包含學(xué)號等屬性,通過登記系統(tǒng)保存學(xué)生成
13、績的信息。學(xué)生通過分組程序分出選修課的學(xué)生名單。課程包含課程號,名稱等屬性。分組信息分出選修課教師,教師包含名稱,教師編號屬性。 用戶通過SQL SERVER 2000 的查詢分析器直接輸入各種操作代碼,其中包括對系統(tǒng)管理員的創(chuàng)建,管理員可以創(chuàng)建其他管理員權(quán)限,當(dāng)然,系統(tǒng)管理員可以對所有表進(jìn)行修改,刪除,增加。具體需求分析如下:選修課管理系統(tǒng)功能圖:選修課管理系統(tǒng)管理員學(xué)生教師學(xué)生成績管理登錄查詢課程信息修改個人信息登記成績選課信息管理成績查詢登錄選課查詢選課情況修改個人信息開設(shè)課程管理 系統(tǒng)功能需求: 1. 開設(shè)課程管理 管理員對所開設(shè)的課程進(jìn)行管理,允許對所開設(shè)的課程進(jìn)行增加,修改,刪除等
14、。 2.查詢 可以按課程名,教師名,學(xué)號等多種方式查詢課程信息。對于學(xué)生的選課信息,學(xué)生只能查詢本人的。 3.學(xué)生選課管理 學(xué)生根據(jù)所查詢的課程信息,選擇自己所要選修的課程。對于已經(jīng)選擇了,但不希望選修的課程,可以進(jìn)行退選。每個學(xué)生最多選修8個學(xué)分。 4.用戶信息管理 能夠使用系統(tǒng)的每個學(xué)生、教師和管理員每人都有一個ID,管理員可以對用戶進(jìn)行增加,刪除,修改等操作。 5.學(xué)生成績管理 成績管理包括如下功能:(1)成績錄入 管理員錄入學(xué)生的成績信息。(2)成績查詢 學(xué)生可以查看自己所選各科課程的成績。教師可以查詢自己所教課程的學(xué)生成績,并打印報表。 參與者用例圖:用戶管理員教師學(xué)生分析參與者:
15、學(xué)生、教師、管理員都是學(xué)校里的人員,有一些相同的屬性,如ID,姓名,部門等,可以將三者的共性提取出來,形成一個抽象的參與者用戶。系統(tǒng)可以識別三個參與者:學(xué)生,教師和管理員。學(xué)生:查詢課表,選課,查詢考試成績教師:查詢課表,查詢課程成績管理員:管理所開設(shè)的課程,管理用戶,錄入成績,執(zhí)行各種查詢功能。 學(xué)生選課的數(shù)據(jù)流圖:選課信息學(xué)號學(xué)號學(xué)號打成績單成績登錄打選課單學(xué)生選課 學(xué)生課程學(xué)生選課選課信息成績信息成績單學(xué)生教師選課名單 數(shù)據(jù)項:以“學(xué)號”為例數(shù)據(jù)項名:學(xué)號數(shù)據(jù)項含義:唯一標(biāo)識每一個學(xué)生別名:學(xué)生編號數(shù)據(jù)類型:字符型 長度:8 取值范圍:0000099999取值含義:前2位為入學(xué)年號,后3
16、位為順序編號與其他數(shù)據(jù)項的邏輯關(guān)系:(無) 數(shù)據(jù)結(jié)構(gòu):以“學(xué)生”為例數(shù)據(jù)結(jié)構(gòu)名:學(xué)生含義說明:是學(xué)籍管理子系統(tǒng)的主體數(shù)據(jù)結(jié)構(gòu),定義了一個學(xué)生的有關(guān)信息組成:學(xué)號,姓名,性別,年齡,所在系 數(shù)據(jù)流:以“選課信息”為例數(shù)據(jù)流名:選課信息說明:學(xué)生所選課程信息數(shù)據(jù)流來源:“學(xué)生選課”處理數(shù)據(jù)流去向:“學(xué)生選課”存儲組成:學(xué)號,課程號 數(shù)據(jù)存儲:以“學(xué)生選課”為例數(shù)據(jù)存儲名:學(xué)生選課說明:記錄學(xué)生所選課程的成績編號:(無)流入的數(shù)據(jù)流:選課信息,成績信息流出的數(shù)據(jù)流:選課信息,成績信息組成:學(xué)號,課程號,成績存取方式:隨機(jī)存取 處理過程:以“學(xué)生選課”為
17、例處理過程名:學(xué)生選課說明:學(xué)生從可選修的課程中選出課程輸入數(shù)據(jù)流:學(xué)生,課程輸出數(shù)據(jù)流:學(xué)生選課根據(jù)系統(tǒng)需求中的描述,又可以將系統(tǒng)分為兩個頂層用例:選課管理和成績管理 選課管理和成績管理頂層用例圖教師管理員選課管理成績管理學(xué)生 選課管理用例可以分解為: 1課程信息查詢:提供按學(xué)生查詢,按任課教師查詢,按課程名查詢等多種查詢方式。 2選課:學(xué)生對自己所選的課程進(jìn)行管理,包括增加所選課程,刪除所選課程等。 3課程信息管理:管理員對學(xué)校所開設(shè)的課程進(jìn)行管理,包括增加課程,刪除課程,修改課程信息等。 4用戶管理:為簡化處理,假設(shè)系統(tǒng)從學(xué)生管理系統(tǒng)中獲取學(xué)生信息,從學(xué)校人事管理系統(tǒng)中獲取教師信息 。
18、選課管理用例圖:管理員選課課程信息查詢用戶管理學(xué)生課程信息管理教師 成績管理用例可以分解為以下用例: 1 學(xué)生成績查詢 學(xué)生查詢自己所選課程的成績。 2 課程成績查詢 教師查詢自己所教課程的學(xué)生成績。 3 成績管理 管理員錄入或修改學(xué)生成績。 學(xué)生成績管理用例圖用戶輸入課程名更新學(xué)生成績啟動成績管理窗口提示輸入課程名查詢課程的選課情況用列表顯示選課學(xué)生檢查成績是否有效更新成績顯示錯誤信息按課程查詢選課信息分析用戶如何登錄到系統(tǒng)中1.2 前置條件:無1.3 后置條件:如果用例成功,則用戶登錄到系統(tǒng)中。否則,系統(tǒng)狀態(tài)不變。1.4 事件流1.4.1 基本流(1)當(dāng)
19、用戶開始使用系統(tǒng)時,登錄用例啟動;(2)系統(tǒng)提示用戶輸入用戶名和密碼;(3)用戶提交;(4)系統(tǒng)驗證輸入的用戶名和密碼,用戶登錄成功1.4.2 備選流在基本流4中,如果用戶輸入的名字或密碼沒有通過驗證,系統(tǒng)提示錯誤信息,用戶可以重新輸入或中止該用例。用戶登錄用例圖:系統(tǒng)啟動用戶系統(tǒng)驗證用戶名和密碼提交提示輸入用戶名和密碼驗證用戶名和密碼顯示錯誤信息正確/錯誤根據(jù)以上對系統(tǒng)的總體需求分析,我們就可以對選修課管理系統(tǒng)有個整體的概念。通過對各個用例圖的的分析與研究,就可以對選課管理系統(tǒng)的整個過程有個很具體的把握,并且可以知道和明白其工作原理與系統(tǒng)處理細(xì)節(jié)問題。三、概念模型與E-R圖概念模型介紹:學(xué)生
20、選修課管理系統(tǒng)的流程:首先由教師或系統(tǒng)管理員等有錄入權(quán)限的用戶將各自權(quán)限范圍內(nèi)的信息進(jìn)行錄入,然后保存信息到數(shù)據(jù)庫中。有權(quán)限的人可以對這些數(shù)據(jù)庫信息進(jìn)行修改和刪除。所有用戶均可以進(jìn)行信息查詢和統(tǒng)計。數(shù)據(jù)流分析學(xué)生選課管理系統(tǒng)的數(shù)據(jù)流程:首先由教師或系統(tǒng)管理員等有錄入權(quán)限的用戶將各自權(quán)限范圍內(nèi)的信息進(jìn)行錄入處理,然后保存信息到數(shù)據(jù)庫中。有權(quán)限的人可以對這些庫信息進(jìn)行修改和刪除處理。所有用戶均可以進(jìn)行信息查詢和統(tǒng)計,結(jié)果可以報表打印。選修課選課系統(tǒng)主要分為兩大模塊:管理員模塊和一般用戶模塊,管理員可以是教師也可以是學(xué)生,不過管理員必須承擔(dān)一定的責(zé)任。管理員模塊又分為對用戶的管理和對選課的管理,對用
21、戶的管理模塊應(yīng)有的功能是對新用戶的添加,對無用用戶的刪除;選課管理模塊應(yīng)有的功能包括新開設(shè)選修課信息的添加,對原有課程信息的修改,對學(xué)校不再開設(shè)的課程進(jìn)行刪除,一輪選課結(jié)束以后對各科選課人數(shù)歸零。一般用戶模塊既學(xué)生應(yīng)用模塊是該系統(tǒng)最基本的功能模塊,因為此模塊應(yīng)完成訪客登錄的身份驗證,學(xué)生選修公共選修課記錄的添加,對公共選修課信息的查詢,對教師信息的查詢,學(xué)生對自己已經(jīng)選修哪些課進(jìn)行查詢。所以,按照需要完成的要求又分成了各具體執(zhí)行模塊。學(xué)生學(xué)號姓名性別所在班級所在系年齡備注學(xué)生實體E-R圖教師教師號班級姓名系部備注教師實體E-R圖課程所屬系開課時間學(xué)分課程名課程號課程實體E-R圖管理員用戶名密碼
22、登錄類型管理員實體E-R圖整體E-R圖:課程管理員 學(xué)生信息學(xué)生課程信息課程教師教師信息學(xué)生信息選擇和查詢詢修改管理管理管理管理修改刪除添加學(xué)生管理管理員管理系屬于課程屬于管理屬于教提交選添加成績選課信息教師四、E-R模型轉(zhuǎn)換成關(guān)系數(shù)據(jù)庫E-R模型轉(zhuǎn)換成關(guān)系數(shù)據(jù)庫的一般規(guī)則:1. 將每一個實體轉(zhuǎn)換成一個關(guān)系。2. 所有主碼必須定義非空。3. 對于二元聯(lián)系,按照下列規(guī)則定義外碼: a.一對一聯(lián)系:將”一”表中的主碼作為外碼放在”多”表中。如上圖中的計算機(jī)系與教師的關(guān)系,計算機(jī)系只有一個系主任。 b.弱實體:將父表的主碼作為外碼放在弱實體中。如上圖學(xué)生與親屬的關(guān)系中親屬就是弱實體。 c.一對多聯(lián)系
23、:將一個表的主碼作為外碼放在另一個表中。如上圖中的班級與學(xué)生的聯(lián)系。 d.多對多聯(lián)系:建立復(fù)合實體,復(fù)合實體的主碼由兩個父實體的主碼復(fù)合組成。如上圖中學(xué)生與課表的關(guān)系就是多對多的聯(lián)系,應(yīng)建立一個復(fù)合實體:成績。設(shè)計關(guān)系模型如下:下劃線為關(guān)系的碼 學(xué)生(學(xué)號,姓名,性別,年齡,班級,所在系號,備注)Student(Student_id, Student_name, Student_sex, Student_time, Student_classid, Student_age, Student_else)此為學(xué)生實體對應(yīng)的關(guān)系模式。教師(教師號,姓名,班級,系別,備注)Teacher(Teache
24、r_id, Teacher_name, Teacher_class, Teacher_dept, Teacher_else)此為教師實體對應(yīng)的關(guān)系模式。課程(課程號,課程名,系名,學(xué)分,開課時間,課程表)Course(Course_id, Course_name, Course_time, Class_credit, Course_dept)此為課程實體對應(yīng)的關(guān)系模式。管理員(用戶名,密碼,登錄類型)Manger(Manger_id, Manger_Passwod, Manger _Power)此為管理員實體對應(yīng)的關(guān)系模式。五、數(shù)據(jù)庫設(shè)計與建立在系統(tǒng)中設(shè)立6張表:除了有學(xué)生、教師、課程基本表分
25、別記錄學(xué)生、教師、課程的基本信息外,考慮到便于系統(tǒng)管理員管理學(xué)生用戶,設(shè)計了用戶表,記錄用戶登錄系統(tǒng)時的用戶名、密碼以及權(quán)限。同時對于學(xué)生選課和教師教課都應(yīng)該有記錄,因此設(shè)計了學(xué)生選課和教師教課表,其中學(xué)生選課表里,包含了學(xué)生選課的內(nèi)容和各門課的成績,便于管理員對成績的錄入、修改以及用戶對成績的查詢和檢索:教師教課表的內(nèi)容主要是包含教師所教課程的信息。 首先是用戶信息數(shù)據(jù)表(Manger),用于存儲學(xué)生管理系統(tǒng)中所有參與人員的信息,包括教師登錄信息、學(xué)生登錄信息,這樣做的目的是可以方便系統(tǒng)判斷用戶登錄的類型,以及對用戶類型的統(tǒng)一管理。用戶信息沒有包括太多的內(nèi)容,主要有用戶登錄號、用戶密碼、用戶
26、權(quán)限代碼,讀者可以根據(jù)自己的具體需要添加字段,表1顯示了表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。表1 用戶信息數(shù)據(jù)表(Manger)列 名數(shù)據(jù)類型寬度字段描述Manger _idChar 10用戶名,設(shè)為主鍵Manger_PasswodChar 20用戶登錄本系統(tǒng)時的用戶密碼Manger _PowerInt 4用戶的類型,0-本校注冊學(xué)生,1-管理員在系統(tǒng)中,最重要的對象是學(xué)生,系統(tǒng)設(shè)計了學(xué)生信息數(shù)據(jù)表(student),用于存儲本校所有學(xué)生信息,其中包括在校生,也包括已畢業(yè)學(xué)生。表5-7中顯示了表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。表2 學(xué)生信息數(shù)據(jù)表(Student) 列 名數(shù)據(jù)類型
27、 寬度 字段描述 Student_id char 20 學(xué)生的學(xué)號,設(shè)為主鍵 Student_name char 20 學(xué)生姓名 Student_sex Char 4 學(xué)生性別 Student_time Char 8 學(xué)生入學(xué)時間Student_classid char 50 學(xué)生所在班級號 Student_age int 4 學(xué)生年齡 Student_else char 50 備注系統(tǒng)構(gòu)建教師信息數(shù)據(jù)表(teacher)用來存儲本校所有教師信息,教師信息表給出一個較為簡單的結(jié)構(gòu)。表3顯示了表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。 表3 教師信息數(shù)據(jù)表(teacher)列 名數(shù)據(jù)類型寬度字段
28、描述 Teacher_id char 5 記錄教師號,設(shè)為主鍵 Teacher_name char 10 記錄教師姓名 Teacher_class char 20 記錄教師所在班級 Teacher_dept char 20 記錄教師所在系 Teacher_else char 50 備注每一個教師講授什么課程都有記錄,而且一門課可能會有多個老師授課。因此必須包括課程名稱、年度、學(xué)期、班級號等,以便管理員或?qū)W生查詢信息,系統(tǒng)采用教師_課程記錄數(shù)據(jù)表(teacher_course)記錄以上信息。如表4所示表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。表4教師-課程記錄數(shù)據(jù)表(teacher_course
29、)列 名數(shù)據(jù)類型寬度字段描述 ID Int 4 教師-課程記錄的惟一ID號,設(shè)為主鍵 Teacher id Varchar 50 教師號 Course id Varchar 50 教師所任課程號 Teacher_class Varchar 50 教師所教班級號Course_year Char 5 年度學(xué)期Course_men Int 4 教師所任選修課程限報人數(shù)學(xué)生總是離不開課程,系統(tǒng)設(shè)計了課程信息數(shù)據(jù)表(course),用于存儲本校所有課程信息,其中包括課程類型、學(xué)分等。表5顯示了表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。表5課程信息數(shù)據(jù)表(course)列 名數(shù)據(jù)類型寬度字段描述Cours
30、e_idchar50課程號,設(shè)為主鍵Course_namechar50課程名Course_timechar40開課時間Class_creditInt4課程學(xué)分Course_deptchar50課程所在系學(xué)生所學(xué)課程都會有成績,并且每個學(xué)生每一門課只有一個成績。系統(tǒng)設(shè)計了學(xué)生-課程信息數(shù)據(jù)表(studentcourse),用于存儲本校所有學(xué)生所學(xué)課程信息,表6顯示了表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。表6 學(xué)生-課程記錄數(shù)據(jù)表(student_course)列 名數(shù)據(jù)類型寬度字段描述 IDchar 10 學(xué)生-課程記錄的惟一ID號,設(shè)為主鍵Studen_id char 10 學(xué)生學(xué)號Cou
31、rse_id char 10學(xué)生所學(xué)課程號Stude_grade Int 4學(xué)生成績Course_dept char 50學(xué)生所學(xué)課程所在系 系統(tǒng)使用Microsoft SQL Server 2000建立數(shù)據(jù)庫,庫名為Elective。庫中設(shè)計的六個表使用T-SQL建立數(shù)據(jù)庫Electivecreate database electiveon ( name='electivedb', filename='e:databaseelective.mdf', size=2, maxsize=10, filegrowth= 1 )log on ( name='e
32、lectivelog', filename='e:databaseelective_log.ldf', size=1, maxsize=5, filegrowth=1)go1、 使用T-SQL腳本建立學(xué)生信息數(shù)據(jù)表(Student)。create table student(S_id char(20) primary key,S_name char(40)not null ,S_sex char(4)not null,S_dept char(20) not null,S_age char(8) not null,S_classid char(50)not null ,
33、S_else char(50)not null , )2、 使用T-SQL腳本建立教師信息數(shù)據(jù)表(Teacher)。create table teacher(T_id char(5) primary key, T_name char(10) not null, T_class char(20) not null, T_dept char(20) not null, T_else char(50)not null,)3、 使用T-SQL腳本建立課程信息數(shù)據(jù)表(Course)。create table course(C_id char(10)primary key,C_name char(20)n
34、ot null,C_time char(40) not null,C_credit int not null,C_dept char(50) not null,)4、使用T-SQL腳本建立課程信息數(shù)據(jù)表(Student_Course)。create table student_course(ID char(10)primary key,S_id char(10)not null,C_idchar(10) not null,S_grade int not null,C_dept char(50) not null,)5、使用T-SQL腳本建立課程信息數(shù)據(jù)表(Teacher_Course)。cre
35、ate table teacher_course(ID char(10)primary key,T_id char(10)not null,C_idchar(10) not null,C_men int not null,T_class char(40) not null,C_year char(50) not null,)6、使用T-SQL腳本建立課程信息數(shù)據(jù)表(Manger)。create table manger(M_id char(10)primary key,M_passwordchar(20) not null,M_power int not null,)構(gòu)建了數(shù)據(jù)庫的表結(jié)構(gòu)后,接
36、下來創(chuàng)建負(fù)責(zé)表中信息查詢、插入、修改、刪除以及授權(quán)的相關(guān)存儲過程(只舉例關(guān)于表Student ,Course,Student_Course之間的操作,同理可以對表teacher,Course,Student_Course進(jìn)行相關(guān)操作)。具體操作如下所示:(一)、查詢基本查詢1、查詢DB_Design課程的課程號和學(xué)分SELECT C_id, C_reditFROM CourseWHERE C_name LIKE DB_Design ESCAPE ; 2、某些學(xué)生選修課程后沒有參加考試,所以有選修課記錄,但沒有考試成績。查詢?nèi)鄙俪煽兊膶W(xué)生的學(xué)號和相應(yīng)的課程號:SELECT S_id, C_idF
37、ROM Student_CourseWHERE S_grade IS NULL;3、查詢所有有成績的學(xué)生學(xué)號和課程號SELECT S_id, C_idFROM Student_CourseWHERE S_grade IS NOT NULL;4、查詢選修了3號課程的學(xué)生的學(xué)號及其成績,查詢結(jié)果按分?jǐn)?shù)的降序排列SELECT S_id, S_grade FROM Student_CourseWHERE C_id = 3 ORDER BY S_grade DESC;5、查詢選修了課程的學(xué)生人數(shù)SELECT COUNT(DISTINCT S_id)FROM Student_Course6、計算選修了1號
38、課程的學(xué)生平均成績SELECT AVG(S_grade)FROM Student_CourseWHERE C_id = 1;7、求各個課程號及相應(yīng)的選課人數(shù)SELECT C_id, COUNT(S_id)FROM Student_CourseGROUP BY C_id8、查詢選修了3門以上課程的學(xué)生學(xué)號SELECT S_idFROM Student_CourseGROUP BY S_idHAVING COUNT(*)>3;連接查詢1、 查詢每個學(xué)生及其選修課程的情況SELECT Student.S_id, S_name, S_sex, S_age, S_dept, C_id, S_gra
39、deFROM Student, Student_CourseWHERE Student.S_id = Student_Course.S_id;(自然連接)SELECT Student.*, Student_Course.* FROM Student, Student_Course;(廣義笛卡爾積連接)2、外連接查詢每個學(xué)生及其選修課程的情況SELECT Student.S_id, S_name, S_sex, S_age, S_dept, C_id, S_gradeFROM Student, Student_CourseWHERE Student.S_id = Student_Course.S
40、_id(*);查詢學(xué)校設(shè)置的所有課程及其選修情況SELECT C_id, C_name, C_redit, S_id, S_gradeFROM Course, Student_CourseWHERE Course.C_id = Student_Course.C_id(*);3、多表連接例 查詢每個學(xué)生的學(xué)號、姓名、選修的課程名及成績SELECT Student.S_id, S_name, C_nameFROM Student, Course, Student_CourseWHERE Student.S_id = Student_Course.S_id AND Student_Course.C_
41、id = Course.C_id4、帶有IN謂詞的子查詢查詢與“劉晨”在同一個系學(xué)習(xí)的學(xué)生 使用嵌套實現(xiàn)此查詢SELECT S_id, S_name, S_deptFROM StudentWHERE S_dept IN(SELECT S_dept FROM Student WHERE S_name = 劉晨);6、使用嵌套查詢實現(xiàn)查詢選修了課程名為“信息系統(tǒng)”的學(xué)生學(xué)號和姓名SELECT S_id, S_name(3)FROM StudentWHERE S_id IN(SELECT S_id(2) FROM Student_Course WHERE C_id IN (SELECT C_id(1
42、) FROM Course WHERE C_name=信息系統(tǒng));(二)、插入插入一條選課記錄(95020,1)INSERT INTO Student_Course (S_id, C_id)VALUES(95002, 1);將一個新學(xué)生記錄插入到Student表中INSERT INTO Student VALUES(95002, 陳冬, 男, IS, 18);(三)、修改修改某一個元組的值例 將學(xué)生95001的年齡改成22歲UPDATE StudentSET S_age = 22WHERE S_id = 95001;(四)、刪除u 刪除一個或多個元組例 刪除學(xué)號為95019的學(xué)生記錄DELET
43、E FROM StudentWHERE S_id = 95019;刪除計算機(jī)系所有學(xué)生的選課記錄DELETE FROM Student_CourseWHERE S_dept =(SELETE S_dept FROM Student WHERE Student.S_id = Student_Course.S_id);(五)、授權(quán)授權(quán)GRANT <權(quán)限>,<權(quán)限>ON <對象類型> <對象名>TO <用戶>,<用戶>WITH GRANT OPTION;對象對象類型操作權(quán)限屬性列TABLESELECT, INSERT, UPDA
44、TE, DELETE, ALL PRIVILEGES基表TABLESELECT, INSERT, UPDATE, DELETE, ALTER, INDEX, ALL PRIVILEGES數(shù)據(jù)庫DATABASECREATETAB1、把查詢 Student 表的權(quán)限授給用戶wangGRANT SELECT ON TABLE Student TO wang;2、把對Student 表和Course 表的全部操作權(quán)限授予用戶U2和U3 GRANT ALL PRIVILIGES ON TABLE Student, Course TO user2, user3;3、把對Student_Course表的查詢
45、權(quán)限授予所有用戶GRANT SELECT ON TABLE Student_Course TO PUBLIC;4、把查詢Student 表和修改學(xué)號的權(quán)限授予用戶U4GRANT UPDATE(S_id), SELECT ON TABLE Student TO U4;5、把對Student_Course表的插入權(quán)限授予用戶U5,并允許將此權(quán)限再授予其他用戶GRANT INSERT ON TABLE Student_Course TO user5 WITH GRANT OPTION;收回權(quán)限1、收回U4用戶修改學(xué)生學(xué)號的權(quán)限REVOKE UPDATE(S_id) ON TABLE Student
46、FROM U4;2、收回所有用戶對表Student_Course的查詢權(quán)限REVOKE SELECT ON TABLE Student_Course FROM PUBLIC;3、收回U5用戶對表Student_Course的插入權(quán)限REVOKE INSERT ON TABLE Student_Course FROM U5;六、連接數(shù)據(jù)庫系統(tǒng)為保持良好的可移植性,采用對數(shù)據(jù)庫配置進(jìn)行統(tǒng)一管理的方法,將程序中用到的所有連接字符串信息統(tǒng)一放于Web.Config配置文檔中,在程序中通過這一配置調(diào)用,進(jìn)行數(shù)據(jù)庫連接。 對于數(shù)據(jù)庫調(diào)用字符串,由于數(shù)據(jù)庫使用的是本地數(shù)據(jù)庫,Data Source(數(shù)據(jù)源)
47、設(shè)置為(local);UID(用戶ID)賦值為系統(tǒng)默認(rèn)的sa:PWD(連接密碼)賦值為空;DATABASE(數(shù)據(jù)庫名稱)設(shè)為我們上一節(jié)中創(chuàng)建的Elective。Web.Config配置文檔的相關(guān)主要代碼如下:<configuration> <appSettings><add key="dsn" value="Data Source=(local);UID=sa;PWD=;DATABASE=Elective"/></appSettings></configuration>在每個需要連接數(shù)據(jù)庫的程序
48、中讀取Web.Config配置文檔中的數(shù)據(jù)庫設(shè)置信息,只要使用如下語句即可。string strconn= ConfigurationSettings.AppSettings"dsn"SqlConnection cn=new SqlConnection(strconn);cn.Open();我們只要在程序文件中加入這幾行代碼,就可以將數(shù)據(jù)庫連接字段讀取到字符串strconn中,就可使用所連接的數(shù)據(jù)庫了。12.4.2 設(shè)置用戶驗證和授權(quán)在系統(tǒng)中專門建一目錄為:manager,把不允許學(xué)生瀏覽的管理員模塊的所有應(yīng)用程序放入該目錄,以便在Web.Config中控制。先在Web.C
49、onfig中設(shè)置用戶名和密碼,代碼清單如下:<authentication mode="Forms"> <!- 設(shè)定驗證方式為forms(表單)驗證 -> <forms name="autoCre" loginUrl="login.aspx" protection="All"> <!-沒有通過驗證時轉(zhuǎn)到login.aspx -> <credentials passwordFormat="Clear"> <!- 指定密碼為明文 -&
50、gt; <user name="manager" password="123456"/><!- 可登錄的用戶名和密碼, 密碼也可加密-> <user name="admin" password="666"/> <!- 可登錄的用戶名和密碼,密碼也可加密-> </credentials> </forms> </authentication> 然后設(shè)置目錄manager的訪問權(quán)限。 <location path="manager"> <!- 指定有訪問權(quán)限的目錄為: manager-> <system.web>
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 施工招標(biāo)文件范本
- 建筑工程施工質(zhì)量驗收標(biāo)準(zhǔn)和規(guī)范
- 2024高中地理第四章自然環(huán)境對人類活動的影響3自然資源與人類活動學(xué)案湘教版必修1
- 2024高中生物第6章生態(tài)環(huán)境的保護(hù)第1節(jié)人口增長對生態(tài)環(huán)境的影響課堂演練含解析新人教版必修3
- 2024高考?xì)v史一輪復(fù)習(xí)方案專題三現(xiàn)代中國的政治建設(shè)祖國統(tǒng)一與對外關(guān)系第8講現(xiàn)代中國的對外關(guān)系教學(xué)案+練習(xí)人民版
- 2024高考地理一輪復(fù)習(xí)第一部分自然地理-重在理解第一章行星地球第5講地球公轉(zhuǎn)及其地理意義學(xué)案新人教版
- (譯林版)二年級英語上冊期中檢測卷-附參考答案
- 變頻技術(shù)及應(yīng)用 課件 學(xué)習(xí)情境1、2 變頻器的基礎(chǔ)知識、認(rèn)識變頻器
- 部編版九年級上冊語文期中復(fù)習(xí):文學(xué)類文本閱讀-專項練習(xí)題(文本版-含答案)
- 農(nóng)業(yè)土地政策資料講解
- Unit 3 We should obey the rules. Lesson15(說課稿)-2023-2024學(xué)年人教精通版英語五年級下冊
- 綿陽市高中2022級(2025屆)高三第二次診斷性考試(二診)語文試卷(含答案)
- 2024年聊城市東昌府區(qū)中醫(yī)院招聘備案制工作人員考試真題
- 2025年極兔速遞有限公司招聘筆試參考題庫含答案解析
- 人力資源許可證制度(服務(wù)流程、服務(wù)協(xié)議、收費(fèi)標(biāo)準(zhǔn)、信息發(fā)布審查和投訴處理)
- 借條的正規(guī)模板(2024版)
- 建設(shè)工程監(jiān)理費(fèi)計算器(免費(fèi))
- 春節(jié)期間安全管理實施方案與春節(jié)期間施工現(xiàn)場維穩(wěn)方案匯編
- spc 應(yīng)用表格-控制圖 P管制圖表
- 建材公司財務(wù)管理制度
- 作業(yè)布置批改檢查量化評分細(xì)則(完整版)
評論
0/150
提交評論