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

下載本文檔

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

文檔簡介

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

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

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

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

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

第十八周:運用命令、約束條件、索引等方式,然后使用SQL語言進行數(shù)據(jù)庫的設計,最好撰寫出課程設計說明書并打印,提交審查設計考核要求1.考勤20%2.課程設計說明書50%3。答辯30%計算機科學與技術(shù)學院制目錄1.相關(guān)專業(yè)背景功能—-———------——————-——-————-----—-—12.需求分析-—-——-—----—----—————-—————-——--————--—43.概念模型與E—R圖__________________________________134.E-R模型轉(zhuǎn)換-—--—————-—-——-——-------————---—---145.數(shù)據(jù)庫設計與建立--——————-———-----—-—---———-—--176、連接數(shù)據(jù)庫-——---———-——-—-—-—----——-———---—-——----237。個人總結(jié)—-———-—-——-———--------——-——-----—-—----——248.參考文獻---——————-——-—-—-——————-——-————-————-—25一、選修課管理系統(tǒng)的相關(guān)背景功能選修課管理系統(tǒng)是一個面向?qū)W校教務管理人員、教師和學生并為其提供服務的管理系統(tǒng)。選修課管理系統(tǒng)所經(jīng)歷的三個階段一、沒有電腦的年代,網(wǎng)上選課根本不存在,當時學生根據(jù)自己的愛好興趣等方面,先選擇相應的課程,然后由班級上報院系,再通過人工整理所上報的信息的辦法,決定每個人的選課信息以及任課老師所教的課程,也就是說幾乎談不上選修課管理系統(tǒng)這么一說.二、每個院系有了為數(shù)不多的幾臺電腦后,班級上報院系的信息,由院系先在電腦上登記,最后交給教務處,教務處通過選修課管理系統(tǒng)(還不夠完善),經(jīng)過審核決定最終結(jié)果并公布;三、電腦普及率很高,也就是現(xiàn)在這樣,網(wǎng)上選課已不成問題,教務處直接通過選修課管理系統(tǒng),了解與審核選課信息,最終決定最后的結(jié)果并公布.有關(guān)選修課的概念與定義選修課與“必修課”相對。主要指高等學校和中等專業(yè)學校中學習某一專業(yè)的學生可以有選擇地學習的課程.在教學計劃中一般不作硬性規(guī)定。分限制性選修課程(某些特定專業(yè)指定選修課程,對該專業(yè)來說可視為必修課)和非限制性選修課程(任意專業(yè)選修課程)兩種。一般大學的課程都分為校定必修,院定必修,限選課和任選課這四種,你可以根據(jù)你的愛好來選擇選修課,也可以選一些專業(yè)方面的課程來修.選修課不能全都選,學校有規(guī)定一學期最高能修多少個學分,你不能超出這個限制。開設選修課的意義選修課的開設是基于社會對復合型人才的需求,旨在加強大學生人文素質(zhì)和科學素質(zhì)的養(yǎng)成和提高,培養(yǎng)全面發(fā)展的高素質(zhì)人才.要對學生的公共選修課進行管理,每學期由教務處依據(jù)教學計劃列出所開設的選修課程,學生自主選課,教務處根據(jù)選課情況進行調(diào)整,最后確定選修各門課程的學生名單,并對選修課進行排課和對選修課成績進行登記??稍O置學生可選修的課程范圍以及選修的約束條件??芍付ǚ秶鷥?nèi)的學分約束及課程門數(shù)約束,可指定選修課教師的開設班級的約束條件,開設班級的人數(shù)限制。約束條件將作為學生在網(wǎng)上選課審核的標準.應實時顯示選課沖突信息.網(wǎng)上選課的好處:大學期間總會有很多公共選修課,以往的選課方法是隨堂報名。這種方法雖然直接,但是造成選課的盲目性,有些課堂選課時人滿為患,有些課堂無人選課.原因是傳統(tǒng)的選課方法沒有預見性,大家沒有事先協(xié)調(diào)好.使用了網(wǎng)上選課系統(tǒng)以后,可以在開課前就在網(wǎng)上選課,每個學生的課程在開課前就確定好,不用浪費體力去選課,還可以使教學資源合理平均地分配。

學校的選修課網(wǎng)上選課報名問題:教師網(wǎng)上登記選修課(課程審核)學生網(wǎng)上選課報名名單調(diào)整導出全校選課報名報表等等選修課管理系統(tǒng)的功能1.選課。學生能夠在網(wǎng)上實現(xiàn)正常學期的本專業(yè)本年級推薦選課、本院系開設課程、體育課、政治課、公共英語課、文科計算機課、通選課和公選課的選課;2.成績查詢.學生能夠在網(wǎng)上快速、便捷地查詢到自己所有學期的課程成績(包括本院系所學課程成績、輔修/雙學位成績).3.選課情況查詢。學生從網(wǎng)上就可以了解自己的選課情況(包括正常學期和暑期學校的選課),避免了許多不必要的麻煩.4.退課情況查詢.學生可以清楚地查看到自己退課的時間和所用的IP地址。5.體育課評估。6.修改密碼。此功能更加完善了系統(tǒng)的功能。7.用戶注銷。不僅方便用戶退出系統(tǒng)重新進行別的操作,而且更為重要的是它能夠及時保證用戶在使用此系統(tǒng)時的安全性。

系統(tǒng)設置:系統(tǒng)管理員配置相關(guān)信息,包括教師登記課程時間范圍,學生選課時間范圍,每班最多人數(shù),選修課上課日期,選課學生范圍等;

教師登記課程:開課教師在規(guī)定的時間內(nèi)登記自己要開設的選修課程;

學生選課:學生在規(guī)定的選課時間內(nèi)自由選課報名,在規(guī)定時間內(nèi),可以退選、補選、改選課程;

選課調(diào)整:學生選課期截止后,系統(tǒng)管理員可以根據(jù)學生本人、班主任或者任課教師的要求針對個別學生的選課進行調(diào)整,包括強制選課、退選、換選三種;

生成報表:自動生成EXCEL報表,包括學生本人的選課列表、給班主任的選課名單和給上課教師的報名名單選修課管理系統(tǒng)的使用說明一、學生選課學生登陸進行初選,復選,補退選查詢選課情況,上課時間、地點與上課老師修改登陸密碼,添加或刪除選課的相關(guān)信息查詢成績二、教師查詢教師登陸查詢課程信息(上課時間、地點以及課程是否被取消,查詢選擇自己課程的學生清單)修改登陸密碼登記學生成績?nèi)⒐芾韱T對選修課管理設置學生可選修的課程范圍以及選課的約束條件添加課程,修改密碼、瀏覽選課情況、關(guān)閉選課人數(shù)不足15的課程對選修課進行排課登記選修課的成績現(xiàn)行選修課管理系統(tǒng)的特點·完全基于瀏覽器的操作界面,操作簡便·靈活的選課管理、靈活選課配置、課程審核設置、學生范圍限定等·嚴格的選課匹配·教師限時課程登記·學生限時網(wǎng)上選課·保證選課學生在班級之間均勻分布,杜絕過分集中·管理員可以調(diào)整學生選課名單·輕松導出各類選課報表預測選修課管理系統(tǒng)的發(fā)展隨著科學技術(shù)的不斷進步,電腦將會基本普及,各種系統(tǒng)的完善程度將會大幅提高,上一個新臺階,到那時,我想選修課管理系統(tǒng)也將更靈活,操作更簡單,更人性化與智能化。二、需求分析學生包含學號等屬性,通過登記系統(tǒng)保存學生成績的信息.學生通過分組程序分出選修課的學生名單.課程包含課程號,名稱等屬性。分組信息分出選修課教師,教師包含名稱,教師編號屬性.用戶通過SQLSERVER2000的查詢分析器直接輸入各種操作代碼,其中包括對系統(tǒng)管理員的創(chuàng)建,管理員可以創(chuàng)建其他管理員權(quán)限,當然,系統(tǒng)管理員可以對所有表進行修改,刪除,增加。具體需求分析如下:選修課管理系統(tǒng)功能圖:選修課管理系統(tǒng)管理員學生教師選修課管理系統(tǒng)管理員學生教師學生成績管理登錄查詢課程信息修改個人信息登記成績選課信息管理成績查詢登錄選課查詢選課情況修改個人信息開設課程管理學生成績管理登錄查詢課程信息修改個人信息登記成績選課信息管理成績查詢登錄選課查詢選課情況修改個人信息開設課程管理系統(tǒng)功能需求:1.開設課程管理管理員對所開設的課程進行管理,允許對所開設的課程進行增加,修改,刪除等。2。查詢可以按課程名,教師名,學號等多種方式查詢課程信息。對于學生的選課信息,學生只能查詢本人的。3.學生選課管理學生根據(jù)所查詢的課程信息,選擇自己所要選修的課程。對于已經(jīng)選擇了,但不希望選修的課程,可以進行退選。每個學生最多選修8個學分。4。用戶信息管理能夠使用系統(tǒng)的每個學生、教師和管理員每人都有一個ID,管理員可以對用戶進行增加,刪除,修改等操作.5.學生成績管理成績管理包括如下功能:(1)成績錄入管理員錄入學生的成績信息。(2)成績查詢學生可以查看自己所選各科課程的成績。教師可以查詢自己所教課程的學生成績,并打印報表。參與者用例圖:用戶用戶管理員教師學生分析參與者:學生、教師、管理員都是學校里的人員,有一些相同的屬性,如ID,姓名,部門等,可以將三者的共性提取出來,形成一個抽象的參與者——用戶。系統(tǒng)可以識別三個參與者:學生,教師和管理員。學生:查詢課表,選課,查詢考試成績教師:查詢課表,查詢課程成績管理員:管理所開設的課程,管理用戶,錄入成績,執(zhí)行各種查詢功能。學生選課的數(shù)據(jù)流圖:選課信息學號學號學號打成績單成績登錄打選課單學生選課學生課程學生選課選課信息選課信息學號學號學號打成績單成績登錄打選課單學生選課學生課程學生選課選課信息成績信息成績單學生教師選課名單成績單學生教師選課名單①數(shù)據(jù)項:以“學號"為例數(shù)據(jù)項名:學號數(shù)據(jù)項含義:唯一標識每一個學生別名:學生編號數(shù)據(jù)類型:字符型長度:8取值范圍:00000~99999取值含義:前2位為入學年號,后3位為順序編號與其他數(shù)據(jù)項的邏輯關(guān)系:(無)

②數(shù)據(jù)結(jié)構(gòu):以“學生"為例數(shù)據(jù)結(jié)構(gòu)名:學生含義說明:是學籍管理子系統(tǒng)的主體數(shù)據(jù)結(jié)構(gòu),定義了一個學生的有關(guān)信息組成:學號,姓名,性別,年齡,所在系

③數(shù)據(jù)流:以“選課信息"為例數(shù)據(jù)流名:選課信息說明:學生所選課程信息數(shù)據(jù)流來源:“學生選課”處理數(shù)據(jù)流去向:“學生選課”存儲組成:學號,課程號

④數(shù)據(jù)存儲:以“學生選課”為例數(shù)據(jù)存儲名:學生選課說明:記錄學生所選課程的成績編號:(無)流入的數(shù)據(jù)流:選課信息,成績信息流出的數(shù)據(jù)流:選課信息,成績信息組成:學號,課程號,成績存取方式:隨機存取

⑤處理過程:以“學生選課”為例處理過程名:學生選課說明:學生從可選修的課程中選出課程輸入數(shù)據(jù)流:學生,課程輸出數(shù)據(jù)流:學生選課根據(jù)系統(tǒng)需求中的描述,又可以將系統(tǒng)分為兩個頂層用例:選課管理和成績管理選課管理和成績管理頂層用例圖教師教師管理員選課管理成績管理學生選課管理用例可以分解為:1.課程信息查詢:提供按學生查詢,按任課教師查詢,按課程名查詢等多種查詢方式。2.選課:學生對自己所選的課程進行管理,包括增加所選課程,刪除所選課程等。3.課程信息管理:管理員對學校所開設的課程進行管理,包括增加課程,刪除課程,修改課程信息等。4.用戶管理:為簡化處理,假設系統(tǒng)從學生管理系統(tǒng)中獲取學生信息,從學校人事管理系統(tǒng)中獲取教師信息。選課管理用例圖:管理員管理員選課課程信息查詢用戶管理學生課程信息管理教師成績管理用例可以分解為以下用例:1.

學生成績查詢學生查詢自己所選課程的成績.2.

課程成績查詢教師查詢自己所教課程的學生成績。3.

成績管理管理員錄入或修改學生成績。學生成績管理用例圖用戶輸入課程名用戶輸入課程名更新學生成績啟動成績管理窗口提示輸入課程名查詢課程的選課情況用列表顯示選課學生檢查成績是否有效更新成績顯示錯誤信息按課程查詢選課信息分析用戶如何登錄到系統(tǒng)中1。2前置條件:無1。3后置條件:如果用例成功,則用戶登錄到系統(tǒng)中。否則,系統(tǒng)狀態(tài)不變.1。4事件流1。4.1基本流(1)當用戶開始使用系統(tǒng)時,登錄用例啟動;(2)系統(tǒng)提示用戶輸入用戶名和密碼;(3)用戶提交;(4)系統(tǒng)驗證輸入的用戶名和密碼,用戶登錄成功1。4。2備選流在基本流4中,如果用戶輸入的名字或密碼沒有通過驗證,系統(tǒng)提示錯誤信息,用戶可以重新輸入或中止該用例。用戶登錄用例圖:系統(tǒng)啟動用戶系統(tǒng)啟動用戶系統(tǒng)驗證用戶名和密碼提交提示輸入用戶名和密碼驗證用戶名和密碼顯示錯誤信息正確/錯誤根據(jù)以上對系統(tǒng)的總體需求分析,我們就可以對選修課管理系統(tǒng)有個整體的概念.通過對各個用例圖的的分析與研究,就可以對選課管理系統(tǒng)的整個過程有個很具體的把握,并且可以知道和明白其工作原理與系統(tǒng)處理細節(jié)問題.三、概念模型與E—R圖概念模型介紹:學生選修課管理系統(tǒng)的流程:首先由教師或系統(tǒng)管理員等有錄入權(quán)限的用戶將各自權(quán)限范圍內(nèi)的信息進行錄入,然后保存信息到數(shù)據(jù)庫中.有權(quán)限的人可以對這些數(shù)據(jù)庫信息進行修改和刪除。所有用戶均可以進行信息查詢和統(tǒng)計.數(shù)據(jù)流分析學生選課管理系統(tǒng)的數(shù)據(jù)流程:首先由教師或系統(tǒng)管理員等有錄入權(quán)限的用戶將各自權(quán)限范圍內(nèi)的信息進行錄入處理,然后保存信息到數(shù)據(jù)庫中.有權(quán)限的人可以對這些庫信息進行修改和刪除處理.所有用戶均可以進行信息查詢和統(tǒng)計,結(jié)果可以報表打印。選修課選課系統(tǒng)主要分為兩大模塊:管理員模塊和一般用戶模塊,管理員可以是教師也可以是學生,不過管理員必須承擔一定的責任。管理員模塊又分為對用戶的管理和對選課的管理,對用戶的管理模塊應有的功能是對新用戶的添加,對無用用戶的刪除;選課管理模塊應有的功能包括新開設選修課信息的添加,對原有課程信息的修改,對學校不再開設的課程進行刪除,一輪選課結(jié)束以后對各科選課人數(shù)歸零。一般用戶模塊既學生應用模塊是該系統(tǒng)最基本的功能模塊,因為此模塊應完成訪客登錄的身份驗證,學生選修公共選修課記錄的添加,對公共選修課信息的查詢,對教師信息的查詢,學生對自己已經(jīng)選修哪些課進行查詢。所以,按照需要完成的要求又分成了各具體執(zhí)行模塊。學生學生學號姓名性別所在班級所在系年齡備注學生實體E-R圖教師教師教師號 班級姓名系部備注教師實體E-R圖課程課程所屬系開課時間學分課程名課程號課程實體E—R圖管理員管理員用戶名密碼登錄類型管理員實體E—R圖整體E—R圖:課程管理員課程管理員學生信息學生課程信息課程教師教師信息學生信息選擇和查詢詢修改管理管理管理管理修改刪除添加學生信息學生課程信息課程教師教師信息學生信息選擇和查詢詢修改管理管理管理管理修改刪除添加學生學生管理管理員管理系屬于課程屬于管理屬于教提交選添加成績選課信息教師四、E-R模型轉(zhuǎn)換成關(guān)系數(shù)據(jù)庫E—R模型轉(zhuǎn)換成關(guān)系數(shù)據(jù)庫的一般規(guī)則:將每一個實體轉(zhuǎn)換成一個關(guān)系。所有主碼必須定義非空.對于二元聯(lián)系,按照下列規(guī)則定義外碼:a。一對一聯(lián)系:將”一”表中的主碼作為外碼放在”多"表中。如上圖中的計算機系與教師的關(guān)系,計算機系只有一個系主任.b。弱實體:將父表的主碼作為外碼放在弱實體中.如上圖學生與親屬的關(guān)系中親屬就是弱實體.c。一對多聯(lián)系:將一個表的主碼作為外碼放在另一個表中。如上圖中的班級與學生的聯(lián)系。d.多對多聯(lián)系:建立復合實體,復合實體的主碼由兩個父實體的主碼復合組成。如上圖中學生與課表的關(guān)系就是多對多的聯(lián)系,應建立一個復合實體:成績。設計關(guān)系模型如下:下劃線為關(guān)系的碼學生(學號,姓名,性別,年齡,班級,所在系號,備注)Student(Student_id,Student_name,Student_sex,Student_time,Student_classid,Student_age,Student_else)此為學生實體對應的關(guān)系模式。教師(教師號,姓名,班級,系別,備注)Teacher(Teacher_id,Teacher_name,Teacher_class,Teacher_dept,Teacher_else)此為教師實體對應的關(guān)系模式。課程(課程號,課程名,系名,學分,開課時間,課程表)Course(Course_id,Course_name,Course_time,Class_credit,Course_dept)此為課程實體對應的關(guān)系模式。管理員(用戶名,密碼,登錄類型)Manger(Manger_id,Manger_Passwod,Manger_Power)此為管理員實體對應的關(guān)系模式。五、數(shù)據(jù)庫設計與建立在系統(tǒng)中設立6張表:除了有學生、教師、課程基本表分別記錄學生、教師、課程的基本信息外,考慮到便于系統(tǒng)管理員管理學生用戶,設計了用戶表,記錄用戶登錄系統(tǒng)時的用戶名、密碼以及權(quán)限。同時對于學生選課和教師教課都應該有記錄,因此設計了學生選課和教師教課表,其中學生選課表里,包含了學生選課的內(nèi)容和各門課的成績,便于管理員對成績的錄入、修改以及用戶對成績的查詢和檢索:教師教課表的內(nèi)容主要是包含教師所教課程的信息。首先是用戶信息數(shù)據(jù)表(Manger),用于存儲學生管理系統(tǒng)中所有參與人員的信息,包括教師登錄信息、學生登錄信息,這樣做的目的是可以方便系統(tǒng)判斷用戶登錄的類型,以及對用戶類型的統(tǒng)一管理。用戶信息沒有包括太多的內(nèi)容,主要有用戶登錄號、用戶密碼、用戶權(quán)限代碼,讀者可以根據(jù)自己的具體需要添加字段,表1顯示了表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。表1用戶信息數(shù)據(jù)表(Manger)列名數(shù)據(jù)類型寬度字段描述Manger_idChar10用戶名,設為主鍵Manger_PasswodChar20用戶登錄本系統(tǒng)時的用戶密碼Manger_PowerInt4用戶的類型,0-本校注冊學生,1-管理員在系統(tǒng)中,最重要的對象是學生,系統(tǒng)設計了學生信息數(shù)據(jù)表(student),用于存儲本校所有學生信息,其中包括在校生,也包括已畢業(yè)學生。表5—7中顯示了表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。表2學生信息數(shù)據(jù)表(Student)列名數(shù)據(jù)類型寬度字段描述Student_idchar20學生的學號,設為主鍵Student_namechar20學生姓名Student_sexChar4學生性別Student_timeChar8學生入學時間Student_classidchar50學生所在班級號Student_ageint4學生年齡Student_elsechar50備注系統(tǒng)構(gòu)建教師信息數(shù)據(jù)表(teacher)用來存儲本校所有教師信息,教師信息表給出一個較為簡單的結(jié)構(gòu).表3顯示了表中各個字段的數(shù)據(jù)類型、大小以及簡短描述.表3教師信息數(shù)據(jù)表(teacher)列名數(shù)據(jù)類型寬度字段描述Teacher_idchar5記錄教師號,設為主鍵Teacher_namechar10記錄教師姓名Teacher_classchar20記錄教師所在班級Teacher_deptchar20記錄教師所在系Teacher_elsechar50備注每一個教師講授什么課程都有記錄,而且一門課可能會有多個老師授課。因此必須包括課程名稱、年度、學期、班級號等,以便管理員或?qū)W生查詢信息,系統(tǒng)采用教師_課程記錄數(shù)據(jù)表(teacher_course)記錄以上信息。如表4所示表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。表4教師—課程記錄數(shù)據(jù)表(teacher_course)列名數(shù)據(jù)類型寬度字段描述IDInt4教師-課程記錄的惟一ID號,設為主鍵TeacheridVarchar50教師號CourseidVarchar50教師所任課程號Teacher_classVarchar50教師所教班級號Course_yearChar5年度學期Course_menInt4教師所任選修課程限報人數(shù)學生總是離不開課程,系統(tǒng)設計了課程信息數(shù)據(jù)表(course),用于存儲本校所有課程信息,其中包括課程類型、學分等。表5顯示了表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。表5課程信息數(shù)據(jù)表(course)列名數(shù)據(jù)類型寬度字段描述Course_idchar50課程號,設為主鍵Course_namechar50課程名Course_timechar40開課時間Class_creditInt4課程學分Course_deptchar50課程所在系學生所學課程都會有成績,并且每個學生每一門課只有一個成績.系統(tǒng)設計了學生—課程信息數(shù)據(jù)表(student-course),用于存儲本校所有學生所學課程信息,表6顯示了表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。表6學生-課程記錄數(shù)據(jù)表(student_course)列名數(shù)據(jù)類型寬度字段描述IDchar10學生-課程記錄的惟一ID號,設為主鍵Studen_idchar10學生學號Course_idchar10學生所學課程號Stude_gradeInt4學生成績Course_deptchar50學生所學課程所在系系統(tǒng)使用MicrosoftSQLServer2000建立數(shù)據(jù)庫,庫名為Elective。庫中設計的六個表使用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腳本建立學生信息數(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)建負責表中信息查詢、插入、修改、刪除以及授權(quán)的相關(guān)存儲過程(只舉例關(guān)于表Student,Course,Student_Course之間的操作,同理可以對表teacher,Course,Student_Course進行相關(guān)操作)。具體操作如下所示:(一)、查詢基本查詢1、查詢DB_Design課程的課程號和學分SELECTC_id,C_reditFROMCourseWHEREC_nameLIKE‘DB\_Design’ESCAPE‘\’;2、某些學生選修課程后沒有參加考試,所以有選修課記錄,但沒有考試成績.查詢?nèi)鄙俪煽兊膶W生的學號和相應的課程號:SELECTS_id,C_idFROMStudent_CourseWHERES_gradeISNULL;3、查詢所有有成績的學生學號和課程號SELECTS_id,C_idFROMStudent_CourseWHERES_gradeISNOTNULL;4、查詢選修了3號課程的學生的學號及其成績,查詢結(jié)果按分數(shù)的降序排列SELECTS_id,S_gradeFROMStudent_CourseWHEREC_id=‘3’ORDERBYS_gradeDESC;5、查詢選修了課程的學生人數(shù)SELECTCOUNT(DISTINCTS_id)FROMStudent_Course6、計算選修了1號課程的學生平均成績SELECTAVG(S_grade)FROMStudent_CourseWHEREC_id=‘1';7、求各個課程號及相應的選課人數(shù)SELECTC_id,COUNT(S_id)FROMStudent_CourseGROUPBYC_id8、查詢選修了3門以上課程的學生學號SELECTS_idFROMStudent_CourseGROUPBYS_idHAVINGCOUNT(*)〉3;連接查詢1、查詢每個學生及其選修課程的情況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、外連接查詢每個學生及其選修課程的情況SELECTStudent.S_id,S_name,S_sex,S_age,S_dept,C_id,S_gradeFROMStudent,Student_CourseWHEREStudent.S_id=Student_Course.S_id(*);查詢學校設置的所有課程及其選修情況SELECTC_id,C_name,C_redit,S_id,S_gradeFROMCourse,Student_CourseWHERECourse。C_id=Student_Course.C_id(*);3、多表連接例查詢每個學生的學號、姓名、選修的課程名及成績SELECTStudent。S_id,S_name,C_nameFROMStudent,Course,Student_CourseWHEREStudent.S_id=Student_Course.S_idANDStudent_Course。C_id=Course.C_id4、帶有IN謂詞的子查詢查詢與“劉晨”在同一個系學習的學生使用嵌套實現(xiàn)此查詢SELECTS_id,S_name,S_deptFROMStudentWHERES_deptIN (SELECTS_dept FROMStudent WHERES_name=‘劉晨');6、使用嵌套查詢實現(xiàn)查詢選修了課程名為“信息系統(tǒng)”的學生學號和姓名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’);將一個新學生記錄插入到Student表中INSERTINTOStudentVALUES(‘95002’,‘陳冬',‘男’,‘IS’,18);(三)、修改修改某一個元組的值例將學生95001的年齡改成22歲UPDATEStudentSETS_age=22WHERES_id=‘95001’;(四)、刪除刪除一個或多個元組例刪除學號為95019的學生記錄DELETEFROMStudentWHERES_id=‘95019’;刪除計算機系所有學生的選課記錄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表和修改學號的權(quán)限授予用戶U4GRANTUPDATE(S_id),SELECTONTABLEStudentTOU4;5、把對Student_Course表的插入權(quán)限授予用戶U5,并允許將此權(quán)限再授予其他用戶GRANTINSERTONTABLEStudent_CourseTOuser5WITHGRANTOPTION;收回權(quán)限1、收回U4用戶修改學生學號的權(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ù)庫配置進行統(tǒng)一管理的方法,將程序中用到的所有連接字符串信息統(tǒng)一放于Web.Config配置文檔中,在程序中通過這一配置調(diào)用,進行數(shù)據(jù)庫連接。對于數(shù)據(jù)庫調(diào)用字符串,由于數(shù)據(jù)庫使用的是本地數(shù)據(jù)庫,DataSource(數(shù)據(jù)源)設置為(local);UID(用戶ID)賦值為系統(tǒng)默認的sa:PWD(連接密碼)賦值為空;DATABASE(數(shù)據(jù)庫名稱)設為我們上一節(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ù)庫設置信息,只要使用如下語句即可。stringstrconn=ConfigurationSettings.AppSettings["dsn"]; SqlConnectioncn=newSqlConnection(strconn); cn.Open();我們只要在程序文件中加入這幾行代碼,就可以將數(shù)據(jù)庫連接字段讀取到字符串strconn中,就可使用所連接的數(shù)據(jù)庫了.12。4.2設置用戶驗證和授權(quán)在系統(tǒng)中專門建一目錄為:manager,把不允許學生瀏覽的管理員模塊的所有應用程序放入該目錄,以便在Web.Config中控制。先在Web。Config中設置用戶名和密碼,代碼清單如下:<authenticationmode="Forms"〉<!--設定驗證方式為forms(表單)驗證—-〉<formsname=”autoCre”loginUrl=”login.aspx"protection="All”><!——沒有通過驗證時轉(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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論