選修課管理系統(tǒng)文檔(數(shù)據(jù)庫課程設(shè)計(jì))_第1頁
選修課管理系統(tǒng)文檔(數(shù)據(jù)庫課程設(shè)計(jì))_第2頁
選修課管理系統(tǒng)文檔(數(shù)據(jù)庫課程設(shè)計(jì))_第3頁
選修課管理系統(tǒng)文檔(數(shù)據(jù)庫課程設(shè)計(jì))_第4頁
選修課管理系統(tǒng)文檔(數(shù)據(jù)庫課程設(shè)計(jì))_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)任務(wù)書設(shè)計(jì)題目選修課管理系統(tǒng)指導(dǎo)教師班級學(xué)生課程設(shè)計(jì)功能要求本系統(tǒng)主要實(shí)現(xiàn)三大功能:學(xué)生選課學(xué)生登陸進(jìn)行初選,復(fù)選,補(bǔ)退選查詢選課情況,上課時間、地點(diǎn)與上課老師修改登陸密碼,添加或刪除選課的相關(guān)信息查詢成績教師查詢教師登陸查詢課程信息(上課時間、地點(diǎn)以及課程是否被取消,查詢選擇自己課程的學(xué)生清單)修改登陸密碼登記學(xué)生成績管理員對選修課管理設(shè)置學(xué)生可選修的課程范圍以及選課的約束條件添加課程,修改密碼、瀏覽選課情況、關(guān)閉選課人數(shù)不足15的課程對選修課進(jìn)行排課登記選修課的成績課程設(shè)計(jì)步驟與方法1)需求分析:為提出的問題找出解決的辦法和思路.2)概念分析與設(shè)計(jì):利用概念模型E—R圖實(shí)現(xiàn)信息基本邏輯。3)邏輯分析與設(shè)計(jì):根據(jù)概念分析進(jìn)一步抽象數(shù)據(jù)庫關(guān)系邏輯模型.4)物理分析與設(shè)計(jì):抽象出計(jì)算機(jī)數(shù)據(jù)物理模型。5)功能實(shí)現(xiàn):根據(jù)具體課程設(shè)計(jì)功能要求實(shí)現(xiàn)具體數(shù)據(jù)的功能。6)整體數(shù)據(jù)庫系統(tǒng)實(shí)現(xiàn)。7)整理設(shè)計(jì)課程設(shè)計(jì)說明書并上交審查。課程設(shè)計(jì)說明書要求:課程設(shè)計(jì)說明書要求:1)封面2)課程設(shè)計(jì)任務(wù)書3)目錄4)正文5)參考文獻(xiàn)設(shè)計(jì)工作計(jì)劃與進(jìn)度安排第十一周:完成數(shù)據(jù)庫課程設(shè)計(jì)任務(wù)書

第十四周:查找項(xiàng)目相關(guān)背景資料、功能要求以及發(fā)展前景

第十五周:需求分析的任務(wù)與方法,運(yùn)用數(shù)據(jù)字典,并畫出相應(yīng)的流程圖等

第十六周:整理相關(guān)概念,使用E—R圖實(shí)現(xiàn)信息的基本邏輯,建立對應(yīng)的模型

第十七周:整理出關(guān)系模式,并把E-R圖形式轉(zhuǎn)換成抽象的模式

第十八周:運(yùn)用命令、約束條件、索引等方式,然后使用SQL語言進(jìn)行數(shù)據(jù)庫的設(shè)計(jì),最好撰寫出課程設(shè)計(jì)說明書并打印,提交審查設(shè)計(jì)考核要求1.考勤20%2.課程設(shè)計(jì)說明書50%3。答辯30%計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院制目錄1.相關(guān)專業(yè)背景功能—-———------——————-——-————-----—-—12.需求分析-—-——-—----—----—————-—————-——--————--—43.概念模型與E—R圖__________________________________134.E-R模型轉(zhuǎn)換-—--—————-—-——-——-------————---—---145.?dāng)?shù)據(jù)庫設(shè)計(jì)與建立--——————-———-----—-—---———-—--176、連接數(shù)據(jù)庫-——---———-——-—-—-—----——-———---—-——----237。個人總結(jié)—-———-—-——-———--------——-——-----—-—----——248.參考文獻(xiàn)---——————-——-—-—-——————-——-————-————-—25一、選修課管理系統(tǒng)的相關(guān)背景功能選修課管理系統(tǒng)是一個面向?qū)W校教務(wù)管理人員、教師和學(xué)生并為其提供服務(wù)的管理系統(tǒng)。選修課管理系統(tǒng)所經(jīng)歷的三個階段一、沒有電腦的年代,網(wǎng)上選課根本不存在,當(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é)生可以有選擇地學(xué)習(xí)的課程.在教學(xué)計(jì)劃中一般不作硬性規(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é)計(jì)劃列出所開設(shè)的選修課程,學(xué)生自主選課,教務(wù)處根據(jù)選課情況進(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)實(shí)時顯示選課沖突信息.網(wǎng)上選課的好處:大學(xué)期間總會有很多公共選修課,以往的選課方法是隨堂報名。這種方法雖然直接,但是造成選課的盲目性,有些課堂選課時人滿為患,有些課堂無人選課.原因是傳統(tǒng)的選課方法沒有預(yù)見性,大家沒有事先協(xié)調(diào)好.使用了網(wǎng)上選課系統(tǒng)以后,可以在開課前就在網(wǎng)上選課,每個學(xué)生的課程在開課前就確定好,不用浪費(fèi)體力去選課,還可以使教學(xué)資源合理平均地分配。

學(xué)校的選修課網(wǎng)上選課報名問題:教師網(wǎng)上登記選修課(課程審核)學(xué)生網(wǎng)上選課報名名單調(diào)整導(dǎo)出全校選課報名報表等等選修課管理系統(tǒng)的功能1.選課。學(xué)生能夠在網(wǎng)上實(shí)現(xiàn)正常學(xué)期的本專業(yè)本年級推薦選課、本院系開設(shè)課程、體育課、政治課、公共英語課、文科計(jì)算機(jī)課、通選課和公選課的選課;2.成績查詢.學(xué)生能夠在網(wǎng)上快速、便捷地查詢到自己所有學(xué)期的課程成績(包括本院系所學(xué)課程成績、輔修/雙學(xué)位成績).3.選課情況查詢。學(xué)生從網(wǎng)上就可以了解自己的選課情況(包括正常學(xué)期和暑期學(xué)校的選課),避免了許多不必要的麻煩.4.退課情況查詢.學(xué)生可以清楚地查看到自己退課的時間和所用的IP地址。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)制選課、退選、換選三種;

生成報表:自動生成EXCEL報表,包括學(xué)生本人的選課列表、給班主任的選課名單和給上課教師的報名名單選修課管理系統(tǒng)的使用說明一、學(xué)生選課學(xué)生登陸進(jìn)行初選,復(fù)選,補(bǔ)退選查詢選課情況,上課時間、地點(diǎn)與上課老師修改登陸密碼,添加或刪除選課的相關(guān)信息查詢成績二、教師查詢教師登陸查詢課程信息(上課時間、地點(diǎn)以及課程是否被取消,查詢選擇自己課程的學(xué)生清單)修改登陸密碼登記學(xué)生成績?nèi)⒐芾韱T對選修課管理設(shè)置學(xué)生可選修的課程范圍以及選課的約束條件添加課程,修改密碼、瀏覽選課情況、關(guān)閉選課人數(shù)不足15的課程對選修課進(jìn)行排課登記選修課的成績現(xiàn)行選修課管理系統(tǒng)的特點(diǎn)·完全基于瀏覽器的操作界面,操作簡便·靈活的選課管理、靈活選課配置、課程審核設(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é)生成績的信息.學(xué)生通過分組程序分出選修課的學(xué)生名單.課程包含課程號,名稱等屬性。分組信息分出選修課教師,教師包含名稱,教師編號屬性.用戶通過SQLSERVER2000的查詢分析器直接輸入各種操作代碼,其中包括對系統(tǒng)管理員的創(chuàng)建,管理員可以創(chuàng)建其他管理員權(quán)限,當(dāng)然,系統(tǒng)管理員可以對所有表進(jìn)行修改,刪除,增加。具體需求分析如下:選修課管理系統(tǒng)功能圖:選修課管理系統(tǒng)管理員學(xué)生教師選修課管理系統(tǒng)管理員學(xué)生教師學(xué)生成績管理登錄查詢課程信息修改個人信息登記成績選課信息管理成績查詢登錄選課查詢選課情況修改個人信息開設(shè)課程管理學(xué)生成績管理登錄查詢課程信息修改個人信息登記成績選課信息管理成績查詢登錄選課查詢選課情況修改個人信息開設(shè)課程管理系統(tǒng)功能需求:1.開設(shè)課程管理管理員對所開設(shè)的課程進(jìn)行管理,允許對所開設(shè)的課程進(jìn)行增加,修改,刪除等。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é)生分析參與者:學(xué)生、教師、管理員都是學(xué)校里的人員,有一些相同的屬性,如ID,姓名,部門等,可以將三者的共性提取出來,形成一個抽象的參與者——用戶。系統(tǒng)可以識別三個參與者:學(xué)生,教師和管理員。學(xué)生:查詢課表,選課,查詢考試成績教師:查詢課表,查詢課程成績管理員:管理所開設(shè)的課程,管理用戶,錄入成績,執(zhí)行各種查詢功能。學(xué)生選課的數(shù)據(jù)流圖:選課信息學(xué)號學(xué)號學(xué)號打成績單成績登錄打選課單學(xué)生選課學(xué)生課程學(xué)生選課選課信息選課信息學(xué)號學(xué)號學(xué)號打成績單成績登錄打選課單學(xué)生選課學(xué)生課程學(xué)生選課選課信息成績信息成績單學(xué)生教師選課名單成績單學(xué)生教師選課名單①數(shù)據(jù)項(xiàng):以“學(xué)號"為例數(shù)據(jù)項(xiàng)名:學(xué)號數(shù)據(jù)項(xiàng)含義:唯一標(biāo)識每一個學(xué)生別名:學(xué)生編號數(shù)據(jù)類型:字符型長度:8取值范圍:00000~99999取值含義:前2位為入學(xué)年號,后3位為順序編號與其他數(shù)據(jù)項(xiàng)的邏輯關(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é)生選課”為例處理過程名:學(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)中獲取教師信息。選課管理用例圖:管理員管理員選課課程信息查詢用戶管理學(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)用戶開始使用系統(tǒng)時,登錄用例啟動;(2)系統(tǒng)提示用戶輸入用戶名和密碼;(3)用戶提交;(4)系統(tǒng)驗(yàn)證輸入的用戶名和密碼,用戶登錄成功1。4。2備選流在基本流4中,如果用戶輸入的名字或密碼沒有通過驗(yàn)證,系統(tǒng)提示錯誤信息,用戶可以重新輸入或中止該用例。用戶登錄用例圖:系統(tǒng)啟動用戶系統(tǒng)啟動用戶系統(tǒng)驗(yàn)證用戶名和密碼提交提示輸入用戶名和密碼驗(yàn)證用戶名和密碼顯示錯誤信息正確/錯誤根據(jù)以上對系統(tǒng)的總體需求分析,我們就可以對選修課管理系統(tǒng)有個整體的概念.通過對各個用例圖的的分析與研究,就可以對選課管理系統(tǒng)的整個過程有個很具體的把握,并且可以知道和明白其工作原理與系統(tǒng)處理細(xì)節(jié)問題.三、概念模型與E—R圖概念模型介紹:學(xué)生選修課管理系統(tǒng)的流程:首先由教師或系統(tǒng)管理員等有錄入權(quán)限的用戶將各自權(quán)限范圍內(nèi)的信息進(jìn)行錄入,然后保存信息到數(shù)據(jù)庫中.有權(quán)限的人可以對這些數(shù)據(jù)庫信息進(jìn)行修改和刪除。所有用戶均可以進(jìn)行信息查詢和統(tǒng)計(jì).數(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)計(jì),結(jié)果可以報表打印。選修課選課系統(tǒng)主要分為兩大模塊:管理員模塊和一般用戶模塊,管理員可以是教師也可以是學(xué)生,不過管理員必須承擔(dān)一定的責(zé)任。管理員模塊又分為對用戶的管理和對選課的管理,對用戶的管理模塊應(yīng)有的功能是對新用戶的添加,對無用用戶的刪除;選課管理模塊應(yīng)有的功能包括新開設(shè)選修課信息的添加,對原有課程信息的修改,對學(xué)校不再開設(shè)的課程進(jìn)行刪除,一輪選課結(jié)束以后對各科選課人數(shù)歸零。一般用戶模塊既學(xué)生應(yīng)用模塊是該系統(tǒng)最基本的功能模塊,因?yàn)榇四K應(yīng)完成訪客登錄的身份驗(yàn)證,學(xué)生選修公共選修課記錄的添加,對公共選修課信息的查詢,對教師信息的查詢,學(xué)生對自己已經(jīng)選修哪些課進(jìn)行查詢。所以,按照需要完成的要求又分成了各具體執(zhí)行模塊。學(xué)生學(xué)生學(xué)號姓名性別所在班級所在系年齡備注學(xué)生實(shí)體E-R圖教師教師教師號 班級姓名系部備注教師實(shí)體E-R圖課程課程所屬系開課時間學(xué)分課程名課程號課程實(shí)體E—R圖管理員管理員用戶名密碼登錄類型管理員實(shí)體E—R圖整體E—R圖:課程管理員課程管理員學(xué)生信息學(xué)生課程信息課程教師教師信息學(xué)生信息選擇和查詢詢修改管理管理管理管理修改刪除添加學(xué)生信息學(xué)生課程信息課程教師教師信息學(xué)生信息選擇和查詢詢修改管理管理管理管理修改刪除添加學(xué)生學(xué)生管理管理員管理系屬于課程屬于管理屬于教提交選添加成績選課信息教師四、E-R模型轉(zhuǎn)換成關(guān)系數(shù)據(jù)庫E—R模型轉(zhuǎn)換成關(guān)系數(shù)據(jù)庫的一般規(guī)則:將每一個實(shí)體轉(zhuǎn)換成一個關(guān)系。所有主碼必須定義非空.對于二元聯(lián)系,按照下列規(guī)則定義外碼:a。一對一聯(lián)系:將”一”表中的主碼作為外碼放在”多"表中。如上圖中的計(jì)算機(jī)系與教師的關(guān)系,計(jì)算機(jī)系只有一個系主任.b。弱實(shí)體:將父表的主碼作為外碼放在弱實(shí)體中.如上圖學(xué)生與親屬的關(guān)系中親屬就是弱實(shí)體.c。一對多聯(lián)系:將一個表的主碼作為外碼放在另一個表中。如上圖中的班級與學(xué)生的聯(lián)系。d.多對多聯(lián)系:建立復(fù)合實(shí)體,復(fù)合實(shí)體的主碼由兩個父實(shí)體的主碼復(fù)合組成。如上圖中學(xué)生與課表的關(guān)系就是多對多的聯(lián)系,應(yīng)建立一個復(fù)合實(shí)體:成績。設(shè)計(jì)關(guān)系模型如下:下劃線為關(guān)系的碼學(xué)生(學(xué)號,姓名,性別,年齡,班級,所在系號,備注)Student(Student_id,Student_name,Student_sex,Student_time,Student_classid,Student_age,Student_else)此為學(xué)生實(shí)體對應(yīng)的關(guān)系模式。教師(教師號,姓名,班級,系別,備注)Teacher(Teacher_id,Teacher_name,Teacher_class,Teacher_dept,Teacher_else)此為教師實(shí)體對應(yīng)的關(guān)系模式。課程(課程號,課程名,系名,學(xué)分,開課時間,課程表)Course(Course_id,Course_name,Course_time,Class_credit,Course_dept)此為課程實(shí)體對應(yīng)的關(guān)系模式。管理員(用戶名,密碼,登錄類型)Manger(Manger_id,Manger_Passwod,Manger_Power)此為管理員實(shí)體對應(yīng)的關(guān)系模式。五、數(shù)據(jù)庫設(shè)計(jì)與建立在系統(tǒng)中設(shè)立6張表:除了有學(xué)生、教師、課程基本表分別記錄學(xué)生、教師、課程的基本信息外,考慮到便于系統(tǒng)管理員管理學(xué)生用戶,設(shè)計(jì)了用戶表,記錄用戶登錄系統(tǒng)時的用戶名、密碼以及權(quán)限。同時對于學(xué)生選課和教師教課都應(yīng)該有記錄,因此設(shè)計(jì)了學(xué)生選課和教師教課表,其中學(xué)生選課表里,包含了學(xué)生選課的內(nèi)容和各門課的成績,便于管理員對成績的錄入、修改以及用戶對成績的查詢和檢索:教師教課表的內(nèi)容主要是包含教師所教課程的信息。首先是用戶信息數(shù)據(jù)表(Manger),用于存儲學(xué)生管理系統(tǒng)中所有參與人員的信息,包括教師登錄信息、學(xué)生登錄信息,這樣做的目的是可以方便系統(tǒng)判斷用戶登錄的類型,以及對用戶類型的統(tǒng)一管理。用戶信息沒有包括太多的內(nèi)容,主要有用戶登錄號、用戶密碼、用戶權(quán)限代碼,讀者可以根據(jù)自己的具體需要添加字段,表1顯示了表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。表1用戶信息數(shù)據(jù)表(Manger)列名數(shù)據(jù)類型寬度字段描述Manger_idChar10用戶名,設(shè)為主鍵Manger_PasswodChar20用戶登錄本系統(tǒng)時的用戶密碼Manger_PowerInt4用戶的類型,0-本校注冊學(xué)生,1-管理員在系統(tǒng)中,最重要的對象是學(xué)生,系統(tǒng)設(shè)計(jì)了學(xué)生信息數(shù)據(jù)表(student),用于存儲本校所有學(xué)生信息,其中包括在校生,也包括已畢業(yè)學(xué)生。表5—7中顯示了表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。表2學(xué)生信息數(shù)據(jù)表(Student)列名數(shù)據(jù)類型寬度字段描述Student_idchar20學(xué)生的學(xué)號,設(shè)為主鍵Student_namechar20學(xué)生姓名Student_sexChar4學(xué)生性別Student_timeChar8學(xué)生入學(xué)時間Student_classidchar50學(xué)生所在班級號Student_ageint4學(xué)生年齡Student_elsechar50備注系統(tǒng)構(gòu)建教師信息數(shù)據(jù)表(teacher)用來存儲本校所有教師信息,教師信息表給出一個較為簡單的結(jié)構(gòu).表3顯示了表中各個字段的數(shù)據(jù)類型、大小以及簡短描述.表3教師信息數(shù)據(jù)表(teacher)列名數(shù)據(jù)類型寬度字段描述Teacher_idchar5記錄教師號,設(shè)為主鍵Teacher_namechar10記錄教師姓名Teacher_classchar20記錄教師所在班級Teacher_deptchar20記錄教師所在系Teacher_elsechar50備注每一個教師講授什么課程都有記錄,而且一門課可能會有多個老師授課。因此必須包括課程名稱、年度、學(xué)期、班級號等,以便管理員或?qū)W生查詢信息,系統(tǒng)采用教師_課程記錄數(shù)據(jù)表(teacher_course)記錄以上信息。如表4所示表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。表4教師—課程記錄數(shù)據(jù)表(teacher_course)列名數(shù)據(jù)類型寬度字段描述IDInt4教師-課程記錄的惟一ID號,設(shè)為主鍵TeacheridVarchar50教師號CourseidVarchar50教師所任課程號Teacher_classVarchar50教師所教班級號Course_yearChar5年度學(xué)期Course_menInt4教師所任選修課程限報人數(shù)學(xué)生總是離不開課程,系統(tǒng)設(shè)計(jì)了課程信息數(shù)據(jù)表(course),用于存儲本校所有課程信息,其中包括課程類型、學(xué)分等。表5顯示了表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。表5課程信息數(shù)據(jù)表(course)列名數(shù)據(jù)類型寬度字段描述Course_idchar50課程號,設(shè)為主鍵Course_namechar50課程名Course_timechar40開課時間Class_creditInt4課程學(xué)分Course_deptchar50課程所在系學(xué)生所學(xué)課程都會有成績,并且每個學(xué)生每一門課只有一個成績.系統(tǒng)設(shè)計(jì)了學(xué)生—課程信息數(shù)據(jù)表(student-course),用于存儲本校所有學(xué)生所學(xué)課程信息,表6顯示了表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。表6學(xué)生-課程記錄數(shù)據(jù)表(student_course)列名數(shù)據(jù)類型寬度字段描述IDchar10學(xué)生-課程記錄的惟一ID號,設(shè)為主鍵Studen_idchar10學(xué)生學(xué)號Course_idchar10學(xué)生所學(xué)課程號Stude_gradeInt4學(xué)生成績Course_deptchar50學(xué)生所學(xué)課程所在系系統(tǒng)使用MicrosoftSQLServer2000建立數(shù)據(jù)庫,庫名為Elective。庫中設(shè)計(jì)的六個表使用T-SQL建立數(shù)據(jù)庫Electivecreatedatabaseelectiveon(name=’electivedb’,filename='e:\database\elective.mdf’,size=2,maxsize=10,filegrowth=1)logon(name=’electivelog’,filename='e:\database\elective_log.ldf’,size=1,maxsize=5,filegrowth=1)go使用T—SQL腳本建立學(xué)生信息數(shù)據(jù)表(Student).createtablestudent(S_id char(20)primarykey,S_name char(40) notnull,S_sex char(4) notnull,S_dept char(20)notnull,S_agechar(8)notnull,S_classidchar(50) notnull,S_else char(50) notnull,)使用T-SQL腳本建立教師信息數(shù)據(jù)表(Teacher)。createtableteacher(T_id char(5)primarykey,T_name char(10)notnull,T_classchar(20) notnull,T_deptchar(20)notnull,T_elsechar(50)notnull,)使用T-SQL腳本建立課程信息數(shù)據(jù)表(Course)。createtablecourse(C_id char(10) primarykey,C_name char(20) notnull,C_time char(40)notnull,C_creditintnotnull,C_dept char(50)notnull,)4、使用T-SQL腳本建立課程信息數(shù)據(jù)表(Student_Course)。createtablestudent_course(IDchar(10) primarykey,S_idchar(10) notnull,C_id char(10)notnull,S_grade intnotnull,C_dept char(50)notnull,)5、使用T-SQL腳本建立課程信息數(shù)據(jù)表(Teacher_Course).createtableteacher_course(IDchar(10) primarykey,T_idchar(10) notnull,C_id char(10)notnull,C_menintnotnull,T_class char(40)notnull,C_year char(50)notnull,)6、使用T—SQL腳本建立課程信息數(shù)據(jù)表(Manger)。createtablemanger(M_idchar(10) primarykey,M_password char(20)notnull,M_powerintnotnull,)構(gòu)建了數(shù)據(jù)庫的表結(jié)構(gòu)后,接下來創(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é)分SELECTC_id,C_reditFROMCourseWHEREC_nameLIKE‘DB\_Design’ESCAPE‘\’;2、某些學(xué)生選修課程后沒有參加考試,所以有選修課記錄,但沒有考試成績.查詢?nèi)鄙俪煽兊膶W(xué)生的學(xué)號和相應(yīng)的課程號:SELECTS_id,C_idFROMStudent_CourseWHERES_gradeISNULL;3、查詢所有有成績的學(xué)生學(xué)號和課程號SELECTS_id,C_idFROMStudent_CourseWHERES_gradeISNOTNULL;4、查詢選修了3號課程的學(xué)生的學(xué)號及其成績,查詢結(jié)果按分?jǐn)?shù)的降序排列SELECTS_id,S_gradeFROMStudent_CourseWHEREC_id=‘3’ORDERBYS_gradeDESC;5、查詢選修了課程的學(xué)生人數(shù)SELECTCOUNT(DISTINCTS_id)FROMStudent_Course6、計(jì)算選修了1號課程的學(xué)生平均成績SELECTAVG(S_grade)FROMStudent_CourseWHEREC_id=‘1';7、求各個課程號及相應(yīng)的選課人數(shù)SELECTC_id,COUNT(S_id)FROMStudent_CourseGROUPBYC_id8、查詢選修了3門以上課程的學(xué)生學(xué)號SELECTS_idFROMStudent_CourseGROUPBYS_idHAVINGCOUNT(*)〉3;連接查詢1、查詢每個學(xué)生及其選修課程的情況SELECTStudent。S_id,S_name,S_sex,S_age,S_dept,C_id,S_gradeFROMStudent,Student_CourseWHEREStudent。S_id=Student_Course.S_id;(自然連接)SELECTStudent.*,Student_Course.*FROMStudent,Student_Course;(廣義笛卡爾積連接)2、外連接查詢每個學(xué)生及其選修課程的情況SELECTStudent.S_id,S_name,S_sex,S_age,S_dept,C_id,S_gradeFROMStudent,Student_CourseWHEREStudent.S_id=Student_Course.S_id(*);查詢學(xué)校設(shè)置的所有課程及其選修情況SELECTC_id,C_name,C_redit,S_id,S_gradeFROMCourse,Student_CourseWHERECourse。C_id=Student_Course.C_id(*);3、多表連接例查詢每個學(xué)生的學(xué)號、姓名、選修的課程名及成績SELECTStudent。S_id,S_name,C_nameFROMStudent,Course,Student_CourseWHEREStudent.S_id=Student_Course.S_idANDStudent_Course。C_id=Course.C_id4、帶有IN謂詞的子查詢查詢與“劉晨”在同一個系學(xué)習(xí)的學(xué)生使用嵌套實(shí)現(xiàn)此查詢SELECTS_id,S_name,S_deptFROMStudentWHERES_deptIN (SELECTS_dept FROMStudent WHERES_name=‘劉晨');6、使用嵌套查詢實(shí)現(xiàn)查詢選修了課程名為“信息系統(tǒng)”的學(xué)生學(xué)號和姓名SELECTS_id,S_name (3)FROMStudentWHERES_idIN (SELECTS_id (2) FROMStudent_Course WHEREC_idIN (SELECTC_id (1) FROMCourse WHEREC_name=‘信息系統(tǒng)’));(二)、插入插入一條選課記錄(‘95020’,‘1')INSERTINTOStudent_Course(S_id,C_id)VALUES(‘95002’,‘1’);將一個新學(xué)生記錄插入到Student表中INSERTINTOStudentVALUES(‘95002’,‘陳冬',‘男’,‘IS’,18);(三)、修改修改某一個元組的值例將學(xué)生95001的年齡改成22歲UPDATEStudentSETS_age=22WHERES_id=‘95001’;(四)、刪除刪除一個或多個元組例刪除學(xué)號為95019的學(xué)生記錄DELETEFROMStudentWHERES_id=‘95019’;刪除計(jì)算機(jī)系所有學(xué)生的選課記錄DELETEFROMStudent_CourseWHERE‘S_dept’= (SELETES_dept FROMStudent WHEREStudent.S_id=Student_Course。S_id);(五)、授權(quán)授權(quán)GRANT〈權(quán)限>[,<權(quán)限>]… [ON〈對象類型〉〈對象名〉] TO〈用戶>[,<用戶>]… [WITHGRANTOPTION];對象對象類型操作權(quán)限屬性列TABLESELECT,INSERT,UPDATE,DELETE,ALLPRIVILEGES基表TABLESELECT,INSERT,UPDATE,DELETE,ALTER,INDEX,ALLPRIVILEGES數(shù)據(jù)庫DATABASECREATETAB1、把查詢Student表的權(quán)限授給用戶wangGRANTSELECTONTABLEStudentTOwang;2、把對Student表和Course表的全部操作權(quán)限授予用戶U2和U3GRANTALLPRIVILIGESONTABLEStudent,CourseTOuser2,user3;3、把對Student_Course表的查詢權(quán)限授予所有用戶GRANTSELECTONTABLEStudent_CourseTOPUBLIC;4、把查詢Student表和修改學(xué)號的權(quán)限授予用戶U4GRANTUPDATE(S_id),SELECTONTABLEStudentTOU4;5、把對Student_Course表的插入權(quán)限授予用戶U5,并允許將此權(quán)限再授予其他用戶GRANTINSERTONTABLEStudent_CourseTOuser5WITHGRANTOPTION;收回權(quán)限1、收回U4用戶修改學(xué)生學(xué)號的權(quán)限REVOKEUPDATE(S_id)ONTABLEStudentFROMU4;2、收回所有用戶對表Student_Course的查詢權(quán)限REVOKESELECTONTABLEStudent_CourseFROMPUBLIC;3、收回U5用戶對表Student_Course的插入權(quán)限REVOKEINSERTONTABLEStudent_CourseFROMU5;六、連接數(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ù)庫使用的是本地?cái)?shù)據(jù)庫,DataSource(數(shù)據(jù)源)設(shè)置為(local);UID(用戶ID)賦值為系統(tǒng)默認(rèn)的sa:PWD(連接密碼)賦值為空;DATABASE(數(shù)據(jù)庫名稱)設(shè)為我們上一節(jié)中創(chuàng)建的Elective.Web。Config配置文檔的相關(guān)主要代碼如下:〈configuration〉〈appSettings〉〈addkey=”dsn"value="DataSource=(local);UID=sa;PWD=;DATABASE=Elective”/></appSettings〉〈/configuration〉在每個需要連接數(shù)據(jù)庫的程序中讀取Web。Config配置文檔中的數(shù)據(jù)庫設(shè)置信息,只要使用如下語句即可。stringstrconn=ConfigurationSettings.AppSettings["dsn"]; SqlConnectioncn=newSqlConnection(strconn); cn.Open();我們只要在程序文件中加入這幾行代碼,就可以將數(shù)據(jù)庫連接字段讀取到字符串strconn中,就可使用所連接的數(shù)據(jù)庫了.12。4.2設(shè)置用戶驗(yàn)證和授權(quán)在系統(tǒng)中專門建一目錄為:manager,把不允許學(xué)生瀏覽的管理員模塊的所有應(yīng)用程序放入該目錄,以便在Web.Config中控制。先在Web。Config中設(shè)置用戶名和密碼,代碼清單如下:<authenticationmode="Forms"〉<!--設(shè)定驗(yàn)證方式為forms(表單)驗(yàn)證—-〉<formsname=”autoCre”loginUrl=”login.aspx"protection="All”><!——沒有通過驗(yàn)證時轉(zhuǎn)到login。aspx-—>〈credentialspasswordFormat="Clear”><!—-指定密碼為明文—-〉<username="manager”password="123456”/><!——可登錄的用戶名和密碼,密碼也可加密——〉〈username="admin”password="666”/>〈!——可登錄的用戶名和密碼,密碼也可加密—-></credentials〉</forms〉</au

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論