版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 數(shù)據(jù)庫系統(tǒng)設計課程設計任務書</p><p> 計算機科學與技術(shù)學院制</p><p><b> 目錄</b></p><p> 1.相關(guān)專業(yè)背景功能 --------------------------------- 1</p><p> 2.需求分析 ----------------
2、----------------------- 4</p><p> 3.概念模型與E-R圖__________________________________13</p><p> 4.E-R模型轉(zhuǎn)換 -----------------------------------14 </p><p> 5.數(shù)據(jù)庫設計與建立 ------------------
3、------------17</p><p> 6、連接數(shù)據(jù)庫---------------------------------------23</p><p> 7. 個人總結(jié)-----------------------------------------24</p><p> 8.參考文獻 ------------------------------
4、--------25</p><p> 一、選修課管理系統(tǒng)的相關(guān)背景功能</p><p> 選修課管理系統(tǒng)是一個面向?qū)W校教務管理人員、教師和學生并為其提供服務的管理系統(tǒng)。</p><p> 選修課管理系統(tǒng)所經(jīng)歷的三個階段</p><p> 一、沒有電腦的年代,網(wǎng)上選課根本不存在,當時學生根據(jù)自己的愛好興趣等方面,先選擇相應的課程,然后
5、由班級上報院系,再通過人工整理所上報的信息的辦法,決定每個人的選課信息以及任課老師所教的課程,也就是說幾乎談不上選修課管理系統(tǒng)這么一說。</p><p> 二、每個院系有了為數(shù)不多的幾臺電腦后,班級上報院系的信息,由院系先在電腦上登記,最后交給教務處,教務處通過選修課管理系統(tǒng)(還不夠完善),經(jīng)過審核決定最終結(jié)果并公布;</p><p> 三、電腦普及率很高,也就是現(xiàn)在這樣,網(wǎng)上選課已不
6、成問題,教務處直接通過選修課管理系統(tǒng),了解與審核選課信息,最終決定最后的結(jié)果并公布。</p><p> 有關(guān)選修課的概念與定義</p><p> 選修課與“必修課”相對。主要指高等學校和中等專業(yè)學校中學習某一專業(yè)的學生可以有選擇地學習的課程。在教學計劃中一般不作硬性規(guī)定。分限制性選修課程(某些特定專業(yè)指定選修課程,對該專業(yè)來說可視為必修課)和非限制性選修課程(任意專業(yè)選修課程)兩種。一
7、般大學的課程都分為校定必修,院定必修,限選課和任選課這四種,你可以根據(jù)你的愛好來選擇選修課,也可以選一些專業(yè)方面的課程來修。選修課不能全都選,學校有規(guī)定一學期最高能修多少個學分,你不能超出這個限制。</p><p><b> 開設選修課的意義</b></p><p> 選修課的開設是基于社會對復合型人才的需求,旨在加強大學生人文素質(zhì)和科學素質(zhì)的養(yǎng)成和提高,培養(yǎng)全面
8、發(fā)展的高素質(zhì)人才。要對學生的公共選修課進行管理,每學期由教務處依據(jù)教學計劃列出所開設的選修課程,學生自主選課,教務處根據(jù)選課情況進行調(diào)整,最后確定選修各門課程的學生名單,并對選修課進行排課和對選修課成績進行登記。可設置學生可選修的課程范圍以及選修的約束條件??芍付ǚ秶鷥?nèi)的學分約束及課程門數(shù)約束,可指定選修課教師的開設班級的約束條件,開設班級的人數(shù)限制。約束條件將作為學生在網(wǎng)上選課審核的標準。應實時顯示選課沖突信息。</p>
9、<p><b> 網(wǎng)上選課的好處: </b></p><p> 大學期間總會有很多公共選修課,以往的選課方法是隨堂報名。這種方法雖然直接,但是造成選課的盲目性,有些課堂選課時人滿為患,有些課堂無人選課。原因是傳統(tǒng)的選課方法沒有預見性,大家沒有事先協(xié)調(diào)好。使用了網(wǎng)上選課系統(tǒng)以后,可以在開課前就在網(wǎng)上選課,每個學生的課程在開課前就確定好,不用浪費體力去選課,還可以使教學資源合理平
10、均地分配。 </p><p> 學校的選修課網(wǎng)上選課報名問題:</p><p> 教師網(wǎng)上登記選修課(課程審核)</p><p><b> 學生網(wǎng)上選課</b></p><p><b> 報名名單調(diào)整</b></p><p> 導出全校選課報名報表等等</p
11、><p> 選修課管理系統(tǒng)的功能</p><p> 1.選課。學生能夠在網(wǎng)上實現(xiàn)正常學期的本專業(yè)本年級推薦選課、本院系開設課程、體育課、政治課、公共英語課、文科計算機課、通選課和公選課的選課;</p><p> 2.成績查詢。學生能夠在網(wǎng)上快速、便捷地查詢到自己所有學期的課程成績(包括本院系所學課程成績、輔修/雙學位成績)。</p><p>
12、; 3.選課情況查詢。學生從網(wǎng)上就可以了解自己的選課情況(包括正常學期和暑期學校的選課),避免了許多不必要的麻煩。</p><p> 4.退課情況查詢。學生可以清楚地查看到自己退課的時間和所用的IP地址。</p><p><b> 5.體育課評估。</b></p><p> 6.修改密碼。此功能更加完善了系統(tǒng)的功能。</p>
13、<p> 7.用戶注銷。不僅方便用戶退出系統(tǒng)重新進行別的操作,而且更為重要的是它能夠及時保證用戶在使用此系統(tǒng)時的安全性。 </p><p> 系統(tǒng)設置:系統(tǒng)管理員配置相關(guān)信息,包括教師登記課程時間范圍,學生選課時間范圍,每班最多人數(shù),選修課上課日期,選課學生范圍等;教師登記課程:開課教師在規(guī)定的時間內(nèi)登記自己要開設的選修課程;學生選課:學生在規(guī)定的選課時間內(nèi)自由選課報名,在規(guī)定時間
14、內(nèi),可以退選、補選、改選課程;選課調(diào)整:學生選課期截止后,系統(tǒng)管理員可以根據(jù)學生本人、班主任或者任課教師的要求針對個別學生的選課進行調(diào)整,包括強制選課、退選、換選三種;生成報表:自動生成EXCEL報表,包括學生本人的選課列表、給班主任的選課名單和給上課教師的報名名單</p><p> 選修課管理系統(tǒng)的使用說明</p><p><b> 一、學生選課</b>&l
15、t;/p><p><b> 學生登陸</b></p><p> 進行初選,復選,補退選</p><p> 查詢選課情況,上課時間、地點與上課老師</p><p> 修改登陸密碼,添加或刪除選課的相關(guān)信息</p><p><b> 查詢成績</b></p>
16、<p><b> 二、教師查詢</b></p><p><b> 教師登陸</b></p><p> 查詢課程信息(上課時間、地點以及課程是否被取消,查詢選擇自己課程的學生清單)</p><p><b> 修改登陸密碼</b></p><p><b>
17、; 登記學生成績</b></p><p> 三、管理員對選修課管理</p><p> 設置學生可選修的課程范圍以及選課的約束條件</p><p> 添加課程,修改密碼、瀏覽選課情況、關(guān)閉選課人數(shù)不足15的課程</p><p><b> 對選修課進行排課</b></p><p>
18、;<b> 登記選修課的成績</b></p><p> 現(xiàn)行選修課管理系統(tǒng)的特點</p><p> · 完全基于瀏覽器的操作界面,操作簡便 </p><p> · 靈活的選課管理、靈活選課配置、課程審核設置、學生范圍限定等 </p><p> · 嚴格的選課匹配 </p
19、><p> · 教師限時課程登記 </p><p> · 學生限時網(wǎng)上選課 </p><p> · 保證選課學生在班級之間均勻分布,杜絕過分集中 </p><p> · 管理員可以調(diào)整學生選課名單 </p><p> · 輕松導出各類選課報表</p
20、><p> 預測選修課管理系統(tǒng)的發(fā)展</p><p> 隨著科學技術(shù)的不斷進步,電腦將會基本普及,各種系統(tǒng)的完善程度將會大幅提高,上一個新臺階,到那時,我想選修課管理系統(tǒng)也將更靈活,操作更簡單,更人性化與智能化。</p><p><b> 二、需求分析</b></p><p> 學生包含學號等屬性,通過登記系統(tǒng)保存學
21、生成績的信息。學生通過分組程序分出選修課的學生名單。課程包含課程號,名稱等屬性。分組信息分出選修課教師,教師包含名稱,教師編號屬性。</p><p> 用戶通過SQL SERVER 2000 的查詢分析器直接輸入各種操作代碼,其中包括對系統(tǒng)管理員的創(chuàng)建,管理員可以創(chuàng)建其他管理員權(quán)限,當然,系統(tǒng)管理員可以對所有表進行修改,刪除,增加。</p><p><b> 具體需求分析如下
22、:</b></p><p> 選修課管理系統(tǒng)功能圖:</p><p><b> 系統(tǒng)功能需求:</b></p><p><b> 1. 開設課程管理</b></p><p> 管理員對所開設的課程進行管理,允許對所開設的課程進行增加,修改,刪除等。 </p>&l
23、t;p><b> 2.查詢</b></p><p> 可以按課程名,教師名,學號等多種方式查詢課程信息。對于學生的選課信息,學生只能查詢本人的。</p><p><b> 3.學生選課管理</b></p><p> 學生根據(jù)所查詢的課程信息,選擇自己所要選修的課程。對于已經(jīng)選擇了,但不希望選修的課程,可以進行
24、退選。每個學生最多選修8個學分。 </p><p><b> 4.用戶信息管理 </b></p><p> 能夠使用系統(tǒng)的每個學生、教師和管理員每人都有一個ID,管理員可以對用戶進行增加,刪除,修改等操作。 </p><p><b> 5.學生成績管理</b></p><p>
25、 成績管理包括如下功能:</p><p><b> ?。?)成績錄入</b></p><p> 管理員錄入學生的成績信息。</p><p><b> ?。?)成績查詢</b></p><p> 學生可以查看自己所選各科課程的成績。</p><p> 教師可以查詢自己所教
26、課程的學生成績,并打印報表。 </p><p><b> 參與者用例圖:</b></p><p><b> 分析參與者:</b></p><p> 學生、教師、管理員都是學校里的人員,有一些相同的屬性,如ID,姓名,部門等,可以將三者的共性提取出來,形成一個抽象的參與者——用戶。</p><p&
27、gt; 系統(tǒng)可以識別三個參與者:學生,教師和管理員。</p><p> 學生:查詢課表,選課,查詢考試成績</p><p> 教師:查詢課表,查詢課程成績</p><p> 管理員:管理所開設的課程,管理用戶,錄入成績,執(zhí)行各種查詢功能。 </p><p> 學生選課的數(shù)據(jù)流圖:</p><p> ?、?數(shù)據(jù)
28、項:以“學號”為例</p><p><b> 數(shù)據(jù)項名:學號</b></p><p> 數(shù)據(jù)項含義:唯一標識每一個學生</p><p><b> 別名:學生編號</b></p><p> 數(shù)據(jù)類型:字符型 長度:8 取值范圍:00000~99999</p><p&g
29、t; 取值含義:前2位為入學年號,后3位為順序編號</p><p> 與其他數(shù)據(jù)項的邏輯關(guān)系:(無)</p><p> ?、?數(shù)據(jù)結(jié)構(gòu):以“學生”為例</p><p><b> 數(shù)據(jù)結(jié)構(gòu)名:學生</b></p><p> 含義說明:是學籍管理子系統(tǒng)的主體數(shù)據(jù)結(jié)構(gòu),定義了一個學生的有關(guān)信息</p>&
30、lt;p> 組成:學號,姓名,性別,年齡,所在系</p><p> ?、?數(shù)據(jù)流:以“選課信息”為例</p><p><b> 數(shù)據(jù)流名:選課信息</b></p><p> 說明:學生所選課程信息</p><p> 數(shù)據(jù)流來源:“學生選課”處理</p><p> 數(shù)據(jù)流去向:“學生
31、選課”存儲</p><p><b> 組成:學號,課程號</b></p><p> ?、?數(shù)據(jù)存儲:以“學生選課”為例</p><p> 數(shù)據(jù)存儲名:學生選課</p><p> 說明:記錄學生所選課程的成績</p><p><b> 編號:(無)</b></p&
32、gt;<p> 流入的數(shù)據(jù)流:選課信息,成績信息</p><p> 流出的數(shù)據(jù)流:選課信息,成績信息</p><p> 組成:學號,課程號,成績</p><p><b> 存取方式:隨機存取</b></p><p> ?、?處理過程:以“學生選課”為例</p><p> 處
33、理過程名:學生選課</p><p> 說明:學生從可選修的課程中選出課程</p><p> 輸入數(shù)據(jù)流:學生,課程</p><p> 輸出數(shù)據(jù)流:學生選課</p><p> 根據(jù)系統(tǒng)需求中的描述,又可以將系統(tǒng)分為兩個頂層用例:選課管理和成績管理</p><p> 選課管理和成績管理頂層用例圖</p>
34、;<p> 選課管理用例可以分解為:</p><p> 1.課程信息查詢:提供按學生查詢,按任課教師查詢,按課程名查詢等多種查詢方式。</p><p> 2.選課:學生對自己所選的課程進行管理,包括增加所選課程,刪除所選課程等。</p><p> 3.課程信息管理:管理員對學校所開設的課程進行管理,包括增加課程,刪除課程,修改課程信息等。<
35、;/p><p> 4.用戶管理:為簡化處理,假設系統(tǒng)從學生管理系統(tǒng)中獲取學生信息,從學校人事管理系統(tǒng)中獲取教師信息 。</p><p><b> 選課管理用例圖:</b></p><p> 成績管理用例可以分解為以下用例:</p><p> 1. 學生成績查詢</p><p>
36、學生查詢自己所選課程的成績。</p><p> 2. 課程成績查詢</p><p> 教師查詢自己所教課程的學生成績。</p><p><b> 3. 成績管理</b></p><p> 管理員錄入或修改學生成績。</p><p><b> 學生成績管理
37、用例圖</b></p><p> 分析用戶如何登錄到系統(tǒng)中</p><p> 1.2 前置條件:無</p><p> 1.3 后置條件:如果用例成功,則用戶登錄到系統(tǒng)中。否則,系統(tǒng)狀態(tài)不變。</p><p><b> 1.4 事件流</b></p><p><b>
38、 1.4.1 基本流</b></p><p> ?。?)當用戶開始使用系統(tǒng)時,登錄用例啟動;</p><p> ?。?)系統(tǒng)提示用戶輸入用戶名和密碼;</p><p><b> ?。?)用戶提交;</b></p><p> ?。?)系統(tǒng)驗證輸入的用戶名和密碼,用戶登錄成功</p><p&g
39、t;<b> 1.4.2 備選流</b></p><p> 在基本流4中,如果用戶輸入的名字或密碼沒有通過驗證,系統(tǒng)提示錯誤信息,用戶可以重新輸入或中止該用例。</p><p><b> 用戶登錄用例圖:</b></p><p> 根據(jù)以上對系統(tǒng)的總體需求分析,我們就可以對選修課管理系統(tǒng)有個整體的概念。通過對各個用
40、例圖的的分析與研究,就可以對選課管理系統(tǒng)的整個過程有個很具體的把握,并且可以知道和明白其工作原理與系統(tǒng)處理細節(jié)問題。</p><p> 三、概念模型與E-R圖</p><p><b> 概念模型介紹:</b></p><p> 學生選修課管理系統(tǒng)的流程:首先由教師或系統(tǒng)管理員等有錄入權(quán)限的用戶將各自權(quán)限范圍內(nèi)的信息進行錄入,然后保存信息到
41、數(shù)據(jù)庫中。有權(quán)限的人可以對這些數(shù)據(jù)庫信息進行修改和刪除。所有用戶均可以進行信息查詢和統(tǒng)計。</p><p><b> 數(shù)據(jù)流分析</b></p><p> 學生選課管理系統(tǒng)的數(shù)據(jù)流程:首先由教師或系統(tǒng)管理員等有錄入權(quán)限的用戶將各自權(quán)限范圍內(nèi)的信息進行錄入處理,然后保存信息到數(shù)據(jù)庫中。有權(quán)限的人可以對這些庫信息進行修改和刪除處理。所有用戶均可以進行信息查詢和統(tǒng)計,結(jié)
42、果可以報表打印。</p><p> 選修課選課系統(tǒng)主要分為兩大模塊:管理員模塊和一般用戶模塊,管理員可以是教師也可以是學生,不過管理員必須承擔一定的責任。</p><p> 管理員模塊又分為對用戶的管理和對選課的管理,對用戶的管理模塊應有的功能是對新用戶的添加,對無用用戶的刪除;選課管理模塊應有的功能包括新開設選修課信息的添加,對原有課程信息的修改,對學校不再開設的課程進行刪除,一輪選
43、課結(jié)束以后對各科選課人數(shù)歸零。</p><p> 一般用戶模塊既學生應用模塊是該系統(tǒng)最基本的功能模塊,因為此模塊應完成訪客登錄的身份驗證,學生選修公共選修課記錄的添加,對公共選修課信息的查詢,對教師信息的查詢,學生對自己已經(jīng)選修哪些課進行查詢。所以,按照需要完成的要求又分成了各具體執(zhí)行模塊。</p><p><b> 學生實體E-R圖</b></p>
44、<p><b> 教師實體E-R圖</b></p><p><b> 課程實體E-R圖</b></p><p><b> 管理員實體E-R圖</b></p><p><b> 整體E-R圖:</b></p><p> 四、E-R模型轉(zhuǎn)
45、換成關(guān)系數(shù)據(jù)庫</p><p> E-R模型轉(zhuǎn)換成關(guān)系數(shù)據(jù)庫的一般規(guī)則:</p><p> 將每一個實體轉(zhuǎn)換成一個關(guān)系。</p><p> 所有主碼必須定義非空。</p><p> 對于二元聯(lián)系,按照下列規(guī)則定義外碼:</p><p> a.一對一聯(lián)系:將”一”表中的主碼作為外碼放在”多”表中。如上圖中的計算
46、機系與教師的關(guān)系,計算機系只有一個系主任。</p><p> b.弱實體:將父表的主碼作為外碼放在弱實體中。如上圖學生與親屬的關(guān)系中親屬就是弱實體。</p><p> c.一對多聯(lián)系:將一個表的主碼作為外碼放在另一個表中。如上圖中的班級與學生的聯(lián)系。</p><p> d.多對多聯(lián)系:建立復合實體,復合實體的主碼由兩個父實體的主碼復合組成。如上圖中學生與課表的
47、關(guān)系就是多對多的聯(lián)系,應建立一個復合實體:成績。</p><p> 設計關(guān)系模型如下:下劃線為關(guān)系的碼 </p><p> 學生(學號,姓名,性別,年齡,班級,所在系號,備注)</p><p> Student(Student_id, Student_name, Student_sex, Student_time, Student_classid, Stude
48、nt_age, Student_else)</p><p> 此為學生實體對應的關(guān)系模式。</p><p> 教師(教師號,姓名,班級,系別,備注)</p><p> Teacher(Teacher_id, Teacher_name, Teacher_class, Teacher_dept, Teacher_else)</p><p>
49、 此為教師實體對應的關(guān)系模式。</p><p> 課程(課程號,課程名,系名,學分,開課時間,課程表)</p><p> Course(Course_id, Course_name, Course_time, Class_credit, Course_dept)</p><p> 此為課程實體對應的關(guān)系模式。</p><p> 管理
50、員(用戶名,密碼,登錄類型)</p><p> Manger(Manger_id, Manger_Passwod, Manger _Power)</p><p> 此為管理員實體對應的關(guān)系模式。</p><p> 五、數(shù)據(jù)庫設計與建立</p><p> 在系統(tǒng)中設立6張表:除了有學生、教師、課程基本表分別記錄學生、教師、課程的基本信息
51、外,考慮到便于系統(tǒng)管理員管理學生用戶,設計了用戶表,記錄用戶登錄系統(tǒng)時的用戶名、密碼以及權(quán)限。同時對于學生選課和教師教課都應該有記錄,因此設計了學生選課和教師教課表,其中學生選課表里,包含了學生選課的內(nèi)容和各門課的成績,便于管理員對成績的錄入、修改以及用戶對成績的查詢和檢索:教師教課表的內(nèi)容主要是包含教師所教課程的信息。</p><p> 首先是用戶信息數(shù)據(jù)表(Manger),用于存儲學生管理系統(tǒng)中所有參與人員
52、的信息,包括教師登錄信息、學生登錄信息,這樣做的目的是可以方便系統(tǒng)判斷用戶登錄的類型,以及對用戶類型的統(tǒng)一管理。用戶信息沒有包括太多的內(nèi)容,主要有用戶登錄號、用戶密碼、用戶權(quán)限代碼,讀者可以根據(jù)自己的具體需要添加字段,表1顯示了表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。</p><p> 表1 用戶信息數(shù)據(jù)表(Manger)</p><p> 在系統(tǒng)中,最重要的對象是學生,系統(tǒng)設計了
53、學生信息數(shù)據(jù)表(student),用于存儲本校所有學生信息,其中包括在校生,也包括已畢業(yè)學生。表5-7中顯示了表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。</p><p> 表2 學生信息數(shù)據(jù)表(Student)</p><p> 系統(tǒng)構(gòu)建教師信息數(shù)據(jù)表(teacher)用來存儲本校所有教師信息,教師信息表給出一個較為簡單的結(jié)構(gòu)。表3顯示了表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。&l
54、t;/p><p> 表3 教師信息數(shù)據(jù)表(teacher)</p><p> 每一個教師講授什么課程都有記錄,而且一門課可能會有多個老師授課。因此必須包括課程名稱、年度、學期、班級號等,以便管理員或?qū)W生查詢信息,系統(tǒng)采用教師_課程記錄數(shù)據(jù)表(teacher_course)記錄以上信息。如表4所示表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。</p><p> 表4教
55、師-課程記錄數(shù)據(jù)表(teacher_course)</p><p> 學生總是離不開課程,系統(tǒng)設計了課程信息數(shù)據(jù)表(course),用于存儲本校所有課程信息,其中包括課程類型、學分等。表5顯示了表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。</p><p> 表5課程信息數(shù)據(jù)表(course)</p><p> 學生所學課程都會有成績,并且每個學生每一門課只有一個
56、成績。系統(tǒng)設計了學生-課程信息數(shù)據(jù)表(student—course),用于存儲本校所有學生所學課程信息,表6顯示了表中各個字段的數(shù)據(jù)類型、大小以及簡短描述。</p><p> 表6 學生-課程記錄數(shù)據(jù)表(student_course)</p><p> 系統(tǒng)使用Microsoft SQL Server 2000建立數(shù)據(jù)庫,庫名為Elective。</p><p&g
57、t;<b> 庫中設計的六個表</b></p><p> 使用T-SQL建立數(shù)據(jù)庫Elective</p><p> create database elective</p><p><b> on </b></p><p> ( name='electivedb',<
58、;/p><p> filename='e:\database\elective.mdf',</p><p><b> size=2,</b></p><p> maxsize=10,</p><p> filegrowth= 1 )</p><p><b> log
59、 on</b></p><p> ( name='electivelog',</p><p> filename='e:\database\elective_log.ldf',</p><p><b> size=1,</b></p><p> maxsize=5,&l
60、t;/p><p> filegrowth=1)</p><p><b> go</b></p><p> 使用T-SQL腳本建立學生信息數(shù)據(jù)表(Student)。</p><p> create table student(</p><p> S_id char(20) primary
61、 key,</p><p> S_name char(40)not null ,</p><p> S_sex char(4)not null,</p><p> S_dept char(20) not null,</p><p> S_age char(8) not null,<
62、/p><p> S_classid char(50)not null , </p><p> S_else char(50)not null , </p><p><b> )</b></p><p> 使用T-SQL腳本建立教師信息數(shù)據(jù)表(Teacher)。</p><p> cr
63、eate table teacher(</p><p> T_id char(5) primary key,</p><p> T_name char(10) not null,</p><p> T_class char(20) not null,</p><p> T_dept char(20) not
64、null,</p><p> T_else char(50)not null,</p><p><b> )</b></p><p> 使用T-SQL腳本建立課程信息數(shù)據(jù)表(Course)。</p><p> create table course(</p><p> C_id
65、 char(10)primary key,</p><p> C_name char(20)not null,</p><p> C_time char(40) not null,</p><p> C_credit int not null,</p><p> C_dept char(50
66、) not null,</p><p><b> )</b></p><p> 4、使用T-SQL腳本建立課程信息數(shù)據(jù)表(Student_Course)。</p><p> create table student_course(</p><p> ID char(10)primary key,&l
67、t;/p><p> S_id char(10)not null,</p><p> C_idchar(10) not null,</p><p> S_grade int not null,</p><p> C_dept char(50) not null,</p><p
68、><b> )</b></p><p> 5、使用T-SQL腳本建立課程信息數(shù)據(jù)表(Teacher_Course)。</p><p> create table teacher_course(</p><p> ID char(10)primary key,</p><p> T_id char(
69、10)not null,</p><p> C_idchar(10) not null,</p><p> C_men int not null,</p><p> T_class char(40) not null,</p><p> C_year char(50) not nu
70、ll,</p><p> )6、使用T-SQL腳本建立課程信息數(shù)據(jù)表(Manger)。</p><p> create table manger(</p><p> M_id char(10)primary key,</p><p> M_passwordchar(20) not null,</p>&l
71、t;p> M_power int not null,</p><p><b> )</b></p><p> 構(gòu)建了數(shù)據(jù)庫的表結(jié)構(gòu)后,接下來創(chuàng)建負責表中信息查詢、插入、修改、刪除以及授權(quán)的相關(guān)存儲過程(只舉例關(guān)于表Student ,Course,Student_Course之間的操作,同理可以對表teacher,Course,Student_
72、Course進行相關(guān)操作)。具體操作如下所示:</p><p><b> ?。ㄒ唬?、查詢</b></p><p><b> 基本查詢</b></p><p> 1、查詢DB_Design課程的課程號和學分</p><p> SELECT C_id, C_redit</p><
73、;p> FROM Course</p><p> WHERE C_name LIKE ‘DB\_Design’ ESCAPE ‘\’ ; </p><p> 2、某些學生選修課程后沒有參加考試,所以有選修課記錄,但沒有考試成績。查詢?nèi)鄙俪煽兊膶W生的學號和相應的課程號:</p><p> SELECT S_id, C_id</p><
74、;p> FROM Student_Course</p><p> WHERE S_grade IS NULL;</p><p> 3、查詢所有有成績的學生學號和課程號</p><p> SELECT S_id, C_id</p><p> FROM Student_Course</p><p> WH
75、ERE S_grade IS NOT NULL;</p><p> 4、查詢選修了3號課程的學生的學號及其成績,查詢結(jié)果按分數(shù)的降序排列</p><p> SELECT S_id, S_grade </p><p> FROM Student_Course</p><p> WHERE C_id = ‘3’ ORDER BY S
76、_grade DESC;</p><p> 5、查詢選修了課程的學生人數(shù)</p><p> SELECT COUNT(DISTINCT S_id)</p><p> FROM Student_Course</p><p> 6、計算選修了1號課程的學生平均成績</p><p> SELECT AVG(S_gr
77、ade)</p><p> FROM Student_Course</p><p> WHERE C_id = ‘1’;</p><p> 7、求各個課程號及相應的選課人數(shù)</p><p> SELECT C_id, COUNT(S_id)</p><p> FROM Student_Course</p
78、><p> GROUP BY C_id</p><p> 8、查詢選修了3門以上課程的學生學號</p><p> SELECT S_id</p><p> FROM Student_Course</p><p> GROUP BY S_id</p><p> HAVING COUNT(*
79、)>3;</p><p><b> 連接查詢</b></p><p> 1、 查詢每個學生及其選修課程的情況</p><p> SELECT Student.S_id, S_name, S_sex, S_age, S_dept, C_id, S_grade</p><p> FROM Student, St
80、udent_Course</p><p> WHERE Student.S_id = Student_Course.S_id;</p><p><b> ?。ㄗ匀贿B接)</b></p><p> SELECT Student.*, Student_Course.* </p><p> FROM Student,
81、Student_Course;</p><p> ?。◤V義笛卡爾積連接)</p><p><b> 2、外連接</b></p><p> 查詢每個學生及其選修課程的情況</p><p> SELECT Student.S_id, S_name, S_sex, S_age, S_dept, C_id, S_grade
82、</p><p> FROM Student, Student_Course</p><p> WHERE Student.S_id = Student_Course.S_id(*);</p><p> 查詢學校設置的所有課程及其選修情況</p><p> SELECT C_id, C_name, C_redit, S_id, S_g
83、rade</p><p> FROM Course, Student_Course</p><p> WHERE Course.C_id = Student_Course.C_id(*);</p><p><b> 3、多表連接</b></p><p> 例 查詢每個學生的學號、姓名、選修的課程名及成績</
84、p><p> SELECT Student.S_id, S_name, C_name</p><p> FROM Student, Course, Student_Course</p><p> WHERE Student.S_id = Student_Course.S_id </p><p> AND Student_Course.C_
85、id = Course.C_id</p><p> 4、帶有IN謂詞的子查詢</p><p> 查詢與“劉晨”在同一個系學習的學生</p><p><b> 使用嵌套實現(xiàn)此查詢</b></p><p> SELECT S_id, S_name, S_dept</p><p> FROM
86、Student</p><p> WHERE S_dept IN</p><p> (SELECT S_dept</p><p> FROM Student</p><p> WHERE S_name = ‘劉晨’);</p><p> 6、使用嵌套查詢實現(xiàn)</p><p> 查詢選
87、修了課程名為“信息系統(tǒng)”的學生學號和姓名</p><p> SELECT S_id, S_name(3)</p><p> FROM Student</p><p> WHERE S_id IN</p><p> (SELECT S_id(2)</p><p> FROM Student_Cour
88、se</p><p> WHERE C_id IN</p><p> (SELECT C_id(1)</p><p> FROM Course</p><p> WHERE C_name=‘信息系統(tǒng)’));</p><p><b> (二)、插入</b></p>&
89、lt;p> 插入一條選課記錄(‘95020’,‘1’)</p><p> INSERT INTO Student_Course (S_id, C_id)</p><p> VALUES(‘95002’, ‘1’);</p><p> 將一個新學生記錄插入到Student表中</p><p> INSERT INTO Stude
90、nt </p><p> VALUES(‘95002’, ‘陳冬’, ‘男’, ‘IS’, 18);</p><p><b> ?。ㄈ⑿薷?lt;/b></p><p><b> 修改某一個元組的值</b></p><p> 例 將學生95001的年齡改成22歲</p><p
91、> UPDATE Student</p><p> SET S_age = 22</p><p> WHERE S_id = ‘95001’;</p><p><b> ?。ㄋ模h除</b></p><p><b> 刪除一個或多個元組</b></p><p>
92、; 例 刪除學號為95019的學生記錄</p><p> DELETE FROM Student</p><p> WHERE S_id = ‘95019’;</p><p> 刪除計算機系所有學生的選課記錄</p><p> DELETE FROM Student_Course</p><p> WHE
93、RE ‘S_dept’ =</p><p> (SELETE S_dept</p><p> FROM Student</p><p> WHERE Student.S_id = Student_Course.S_id);</p><p><b> ?。ㄎ澹⑹跈?quán)</b></p><p>&
94、lt;b> 授權(quán)</b></p><p> GRANT <權(quán)限>[,<權(quán)限>]…</p><p> [ON <對象類型> <對象名>]</p><p> TO <用戶>[,<用戶>]…</p><p> [WITH GRANT OPTION];
95、</p><p> 1、把查詢 Student 表的權(quán)限授給用戶wang</p><p> GRANT SELECT ON TABLE Student TO wang;</p><p> 2、把對Student 表和Course 表的全部操作權(quán)限授予用戶U2和U3 </p><p> GRANT ALL PRIVILIGES ON T
96、ABLE Student, Course TO user2, user3;</p><p> 3、把對Student_Course表的查詢權(quán)限授予所有用戶</p><p> GRANT SELECT ON TABLE Student_Course TO PUBLIC;</p><p> 4、把查詢Student 表和修改學號的權(quán)限授予用戶U4</p>
97、;<p> GRANT UPDATE(S_id), SELECT ON TABLE Student TO U4;</p><p> 5、把對Student_Course表的插入權(quán)限授予用戶U5,并允許將此權(quán)限再授予其他用戶</p><p> GRANT INSERT ON TABLE Student_Course TO user5 </p><p&g
98、t; WITH GRANT OPTION;</p><p><b> 收回權(quán)限</b></p><p> 1、收回U4用戶修改學生學號的權(quán)限</p><p> REVOKE UPDATE(S_id) ON TABLE Student FROM U4;</p><p> 2、收回所有用戶對表Student_Cou
99、rse的查詢權(quán)限</p><p> REVOKE SELECT ON TABLE Student_Course FROM PUBLIC;</p><p> 3、收回U5用戶對表Student_Course的插入權(quán)限</p><p> REVOKE INSERT ON TABLE Student_Course FROM U5;</p><p&
100、gt;<b> 六、連接數(shù)據(jù)庫</b></p><p> 系統(tǒng)為保持良好的可移植性,采用對數(shù)據(jù)庫配置進行統(tǒng)一管理的方法,將程序中用到的所有連接字符串信息統(tǒng)一放于Web.Config配置文檔中,在程序中通過這一配置調(diào)用,進行數(shù)據(jù)庫連接。</p><p> 對于數(shù)據(jù)庫調(diào)用字符串,由于數(shù)據(jù)庫使用的是本地數(shù)據(jù)庫,Data Source(數(shù)據(jù)源)設置為(local);UI
101、D(用戶ID)賦值為系統(tǒng)默認的sa:PWD(連接密碼)賦值為空;DATABASE(數(shù)據(jù)庫名稱)設為我們上一節(jié)中創(chuàng)建的Elective。</p><p> Web.Config配置文檔的相關(guān)主要代碼如下:</p><p> <configuration></p><p> <appSettings></p><p>
102、; <add key="dsn" value="Data Source=(local);UID=sa;PWD=;DATABASE=Elective"/></p><p> </appSettings></p><p> </configuration></p><p> 在每個需要連
103、接數(shù)據(jù)庫的程序中讀取Web.Config配置文檔中的數(shù)據(jù)庫設置信息,只要使用如下語句即可。</p><p> string strconn= ConfigurationSettings.AppSettings["dsn"];</p><p> SqlConnection cn=new SqlConnection(strconn);</p><p
104、> cn.Open();</p><p> 我們只要在程序文件中加入這幾行代碼,就可以將數(shù)據(jù)庫連接字段讀取到字符串strconn中,就可使用所連接的數(shù)據(jù)庫了。</p><p> 12.4.2 設置用戶驗證和授權(quán)</p><p> 在系統(tǒng)中專門建一目錄為:manager,把不允許學生瀏覽的管理員模塊的所有應用程序放入該目錄,以便在Web.Config中
105、控制。</p><p> 先在Web.Config中設置用戶名和密碼,代碼清單如下:</p><p> <authentication mode="Forms"> <!-- 設定驗證方式為forms(表單)驗證 --></p><p> <forms name="autoCre" login
106、Url="login.aspx" protection="All"> <!--沒有通過驗證時轉(zhuǎn)到login.aspx --></p><p> <credentials passwordFormat="Clear"> <!-- 指定密碼為明文 --></p><p> <user
107、 name="manager" password="123456"/><!-- 可登錄的用戶名和密碼, 密碼也可加密--></p><p> <user name="admin" password="666"/> <!-- 可登錄的用戶名和密碼,密碼也可加密--></p>&
108、lt;p> </credentials></p><p><b> </forms> </b></p><p> </authentication></p><p> 然后設置目錄manager的訪問權(quán)限。</p><p> <location path=&quo
109、t;manager"> <!-- 指定有訪問權(quán)限的目錄為: manager--></p><p> <system.web> </p><p> <authorization></p><p> <allow users ="manager,admin"/> <!-- 指
110、定允許訪問目錄manager的用戶 --></p><p> <deny users="*"/> <!-- 禁止所有非指定訪問用戶的訪問 --></p><p> </authorization></p><p> </system.web></p><p>
111、</location></p><p> 系統(tǒng)配置以后,只有用戶名為manager和admin的兩個用戶才能訪問manager目錄中的文件,任何人若直接瀏覽該目錄下的文件時,將轉(zhuǎn)到login.aspx頁面,要求重新登錄。</p><p><b> 七、個人總結(jié)</b></p><p> 經(jīng)過這么多天的努力,我們的課程設計終于完
112、成了?;叵虢?jīng)歷的這么些日子,真的感想頗多。數(shù)據(jù)庫是一個門實踐性很強的學科,除了要學習必要的的理論的知識外,一定的上機實踐也是不可缺少的。而這次課程設計就是一個很好的機會。</p><p> 畢竟跟平時的上機實驗不同。不像平時的小作業(yè),一次實驗只用到一小部分的知識,做一些簡單的操作,這次的課程設計是對所學知識的綜合應用,除了要牢固掌握基礎(chǔ)知識外,還需要同組人員的共同努力,密切分工合作以完成任務。我這才發(fā)現(xiàn)平時所學
113、知識并不牢固,許多知識只知其一,不知其二,知識之間的銜接和聯(lián)系理解不夠透徹明白,因此在開始時有點無從下手。好在我復習了下課本,并翻閱了一些相關(guān)書籍,上網(wǎng)查了大量資料,大大開闊了眼界,思路也清晰起來。而且也參考了一些同學的作業(yè),對任務有了更好理解和認識,知識掌握也得到鞏固。</p><p> 按照數(shù)據(jù)庫結(jié)構(gòu)設計的需求分析、概念分析與設計、邏輯分析與設計、物理分析與設計、功能實現(xiàn)、整體數(shù)據(jù)庫系統(tǒng)實現(xiàn)、整理設計課程設
114、計說明書并上交審查等7個步驟進行,首先完成完成數(shù)據(jù)庫課程設計任務書,然后查找項目相關(guān)背景資料、功能要求以及發(fā)展前景,再運用數(shù)據(jù)字典,并畫出相應的流程圖,使用E-R圖實現(xiàn)信息的基本邏輯,建立對應的模型,整理出關(guān)系模式,并把E-R圖形式轉(zhuǎn)換成抽象的模式,并運用命令、約束條件、索引等方式,然后使用SQL語言進行數(shù)據(jù)庫的設計,最后撰寫出課程設計說明書并打印,提交審查。</p><p> 這次課程設計,不僅提高了我運用數(shù)
115、據(jù)庫理論開發(fā)出具有實際應用價值的數(shù)據(jù)庫應用系統(tǒng)的能力,而且思考和解決實際問題的能力也有了較大提高。 我對數(shù)據(jù)庫的相關(guān)知識有了進一步理解和更熟練的掌握,對以前存在的問題也基本上都得到了解決。我已經(jīng)學會獨立地分析一些實際問題,建立數(shù)據(jù)庫,建立,修改,插入和刪除表等操作也沒有問題,并能構(gòu)造數(shù)據(jù)字典,畫出對應的數(shù)據(jù)流圖,E-R圖和關(guān)系模式,運用SQL語言進行數(shù)據(jù)的插入,刪除,修改等。</p><p> 這次課程設計用的
116、時間比較長,但由于開始時知識欠缺,準備不足,并且面臨接二連三的考試,做起來還是遇到了不少的困難。不過在經(jīng)過我們的共同努力下,經(jīng)過分工合作,一起查資料,并參考借鑒其他同學的作業(yè),我們還是如期完成了任務。在這次課程設計中,我才真正認識到團隊合作的重要性,成員間密切合作,互相配合,效率才會高,效果也好,為以后的各種團隊工作也創(chuàng)造良好的基礎(chǔ)。由于是第一次做這樣大型的數(shù)據(jù)庫設計,我們的作業(yè)也難免會存在不少的缺點和不足。我會繼續(xù)努力,不斷學習,打好
117、 基礎(chǔ),把知識學的更好。我們的任務能最終完成,與老師平日的教導是分不開的。此外,我們也得到其他一些同學的指點和幫助,使我們在完成作業(yè)時少走了許多彎路。再次一并表示感謝。</p><p><b> 八、參考文獻</b></p><p> 1 薩師煊,王珊,數(shù)據(jù)庫系統(tǒng)概論(第四版).高等教育出版社,2006</p><p> 2孟小峰 王珊,
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫課程設計--選修課程管理系統(tǒng)的設計與實現(xiàn)
- 設計學生選修課程系統(tǒng)課程設計--設計學生選修課程系統(tǒng)
- 課程設計---學生選修課管理系統(tǒng)
- 課程設計報告--選修課程管理
- 課程設計---學生選修課程系統(tǒng)設計
- 課程設計-----學生選修課程系統(tǒng)設計
- 數(shù)據(jù)庫課程設計文檔
- 課程設計報告---學生選修課程系統(tǒng)設計
- 數(shù)據(jù)庫課程設計文檔
- 課程設計報告---學生選修課系統(tǒng)設計
- c語言課程設計報告--學生選修課程管理系統(tǒng)
- c語言課程設計--學生選修課系統(tǒng)
- c語言課程設計學生選修課系統(tǒng)
- c語言學生選修課程系統(tǒng)設計--學生選修課程系統(tǒng)設計
- 管理信息系統(tǒng)課程設計---學生選修課管理系統(tǒng)
- c語言課程設計--學生選修課系統(tǒng)設計
- 課程設計報告---學生選修課系統(tǒng)設計.doc
- c語言課程設計-學生選修課系統(tǒng)設計
- 數(shù)據(jù)庫課程設計--數(shù)據(jù)庫設計—公司管理系統(tǒng)
- 學生選修課程系統(tǒng)設計
評論
0/150
提交評論