數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告教務(wù)管理系統(tǒng)_第1頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告教務(wù)管理系統(tǒng)_第2頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告教務(wù)管理系統(tǒng)_第3頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告教務(wù)管理系統(tǒng)_第4頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告教務(wù)管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選文檔理 工 學(xué) 院課 程 設(shè) 計(jì) 報(bào) 告 課程名稱 數(shù)據(jù)庫(kù)課程設(shè)計(jì) 設(shè)計(jì)題目 教務(wù)管理系統(tǒng) 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí) 學(xué) 號(hào) 姓 名 完成日期 2013年12月30 日 課 程 設(shè) 計(jì) 任 務(wù) 書(shū)設(shè)計(jì)題目: 教務(wù)管理系統(tǒng) 設(shè)計(jì)內(nèi)容與要求:類似于我校教務(wù)管理系統(tǒng),有四類用戶:教務(wù)員可以輸入學(xué)生、教師、班級(jí)、課程信息,一個(gè)班級(jí)只屬于一個(gè)專業(yè),一個(gè)學(xué)生只屬于一個(gè)班級(jí)。教務(wù)員負(fù)責(zé)輸入每個(gè)專業(yè)、每個(gè)班級(jí)需要學(xué)習(xí)哪些課程,指定課程的任課教師。教師可以查看學(xué)習(xí)該課程的學(xué)生名單。課程結(jié)束后,教師可以錄入課程成績(jī)。一個(gè)教師可以教授多個(gè)班的多門(mén)課程,每門(mén)課由多位老師講授。課程分兩類,必修課和選修課。系

2、統(tǒng)要記錄每個(gè)學(xué)生學(xué)習(xí)各門(mén)必修課的成績(jī),還要記錄學(xué)生選修了哪些選修課以及課程成績(jī)。學(xué)生可以查看自己各門(mén)課程的成績(jī)。學(xué)生還可以進(jìn)行評(píng)教,給老師打分。系統(tǒng)管理員可以輸入教室信息,并結(jié)合班級(jí)、課程、教室信息實(shí)現(xiàn)自動(dòng)排課。 指導(dǎo)教師: 2013 年 12 月 20 日課 程 設(shè) 計(jì) 評(píng) 語(yǔ) 成績(jī): 指導(dǎo)教師:_ 年 月 日.目錄1 概述.21.1 課程設(shè)計(jì)目標(biāo).21.2 課程設(shè)計(jì)的背景和意義.21.1.2 課程設(shè)計(jì)的背景22 需求分析.32.1 系統(tǒng)需求.32.2 可行性分析.32.3 用戶要求.32.3.1 信息需求.32.3.2 處理需求.42.3.3. 課程設(shè)計(jì)的意義43概念結(jié)構(gòu)設(shè)計(jì).63.1設(shè)計(jì)

3、分析.63.2概念模型設(shè)計(jì).63.2.1 局部概念結(jié)構(gòu)設(shè)計(jì)63.2.2 全局概念結(jié)構(gòu)模型(E-R圖)74 邏輯結(jié)構(gòu)設(shè)計(jì).85 物理結(jié)構(gòu)設(shè)計(jì)105.1數(shù)據(jù)表的設(shè)計(jì)105.2數(shù)據(jù)庫(kù)完整性設(shè)計(jì)125.2.1 數(shù)據(jù)庫(kù)實(shí)體完整性設(shè)計(jì)125.2.2 數(shù)據(jù)庫(kù)參照完整性設(shè)計(jì)125.2.3 數(shù)據(jù)庫(kù)用戶定義完整性設(shè)計(jì)135.3數(shù)據(jù)庫(kù)安全性設(shè)計(jì)136 應(yīng)用程序設(shè)計(jì)146.1系統(tǒng)功能模塊圖146.2系統(tǒng)界面157 設(shè)計(jì)總結(jié)288 體會(huì)與收獲29參考文獻(xiàn)301 概述1.1 課程設(shè)計(jì)目標(biāo)課程設(shè)計(jì)總的目標(biāo)是衡量學(xué)生是否取得學(xué)習(xí)效果,培養(yǎng)學(xué)生具有專業(yè)網(wǎng)站初步的規(guī)劃、設(shè)計(jì)、制作能力。具體表現(xiàn)在網(wǎng)站內(nèi)容、功能、安全等方面合理策劃

4、和規(guī)劃;培養(yǎng)具有主頁(yè)和二級(jí)頁(yè)面的創(chuàng)意、設(shè)計(jì)等方面的技術(shù)處理能力和具有強(qiáng)大的動(dòng)態(tài)效果制作能力。培養(yǎng)學(xué)生具有基于后臺(tái)數(shù)據(jù)庫(kù)的編程技術(shù),實(shí)現(xiàn)客戶服務(wù)器端交互式動(dòng)態(tài)網(wǎng)頁(yè)的制作能力,掌握實(shí)際網(wǎng)頁(yè)設(shè)計(jì)與制作開(kāi)發(fā)流程和開(kāi)發(fā)方法。1.2 課程設(shè)計(jì)的背景及意義現(xiàn)如今高等院校的招生人數(shù)越來(lái)越多,必然就會(huì)有大量的學(xué)生信息、教師信息及課程信息需要處理。如果只靠人力來(lái)完成,這將會(huì)變成一項(xiàng)非常繁瑣、復(fù)雜的工作,而且還有可能出現(xiàn)很多意想不到的錯(cuò)誤,給管理這些數(shù)據(jù)帶來(lái)了極大的不便,越來(lái)越不適合高校的發(fā)展需要。教務(wù)管理系統(tǒng)是一個(gè)龐大而復(fù)雜的系統(tǒng),它包括對(duì)教師信息的管理,對(duì)課程資料的管理,對(duì)學(xué)生信息的管理和對(duì)學(xué)生成績(jī)的管理等主要

5、功能。教務(wù)管理系統(tǒng)是每所高校的一項(xiàng)必不可少的內(nèi)容,它的好壞直接影響到學(xué)校的主要工作,此系統(tǒng)一旦癱瘓,不僅會(huì)影響到學(xué)校的每一位學(xué)生,學(xué)校也會(huì)因此受到非常嚴(yán)重的損失。隨著我校近幾年來(lái)的快速發(fā)展,辦學(xué)模式多元化,在校學(xué)生規(guī)模不斷擴(kuò)大,為了加速對(duì)教務(wù)管理的計(jì)算機(jī)化,我校需要開(kāi)發(fā)出符合我校實(shí)際的教務(wù)管理系統(tǒng),為學(xué)校教學(xué)管理提供一個(gè)快速、簡(jiǎn)單規(guī)范的管理平臺(tái),同時(shí)也方便教員查詢相關(guān)信息,提高信息傳播速度,擴(kuò)大信息共享范圍。所以,現(xiàn)在設(shè)計(jì)一個(gè)功能完整、操作簡(jiǎn)單以及界面友好的教務(wù)管理系統(tǒng)變得非常重要。通過(guò)這個(gè)系統(tǒng),管理員能夠?qū)處熜畔?、課程信息、學(xué)生信息和學(xué)生成績(jī)進(jìn)行查詢、添加、修改和刪除等操作,用戶也可以對(duì)自

6、己的基本信息進(jìn)行修改,學(xué)生還可以用該系統(tǒng)進(jìn)行網(wǎng)上選課和成績(jī)查詢,非常的方便。因此,本系統(tǒng)開(kāi)發(fā)的總體目標(biāo)就是在教務(wù)管理中實(shí)現(xiàn)信息管理的系統(tǒng)化、自動(dòng)化,減少工作繁瑣度,增加效率、方便性。2 需求分析2.1 系統(tǒng)需求通過(guò)調(diào)查,要求系統(tǒng)需要有以下功能: 由于操作人員的計(jì)算機(jī)知識(shí)普遍較差,要求有良好的人機(jī)界面; 由于該系統(tǒng)的使用對(duì)象多,要求有較好的權(quán)限管理; 原始數(shù)據(jù)修改簡(jiǎn)單方便,支持多條件修改 方便的數(shù)據(jù)查詢,支持多條件查詢; 在相應(yīng)的權(quán)限下,刪除數(shù)據(jù)方便簡(jiǎn)單,數(shù)據(jù)穩(wěn)定性好; 數(shù)據(jù)計(jì)算自動(dòng)完成,盡量減少人工干預(yù);2.2 可行性分析由于本系統(tǒng)管理的對(duì)象單一,都是在校學(xué)生,且每個(gè)數(shù)據(jù)內(nèi)容具有較強(qiáng)的關(guān)聯(lián)性,

7、涉及的計(jì)算過(guò)程不是很復(fù)雜。因此,比較適合于采用數(shù)據(jù)庫(kù)管理。且學(xué)校用于學(xué)生管理的微機(jī)都是PIII以上的機(jī)器,在存儲(chǔ)量、速度方面都能滿足數(shù)據(jù)庫(kù)運(yùn)行的要求。在技術(shù)難度方面,由于有指導(dǎo)老師的指導(dǎo)和相關(guān)參考文獻(xiàn),特別是網(wǎng)上資料,特別是參考其它程序的功能,因此完全可以實(shí)現(xiàn)。本系統(tǒng)的設(shè)計(jì)是在Window XP操作系統(tǒng)環(huán)境下,使用VS開(kāi)發(fā)成功的。在開(kāi)發(fā)過(guò)程中,如何選擇數(shù)據(jù)庫(kù)管理是一個(gè)重要的問(wèn)題,目前,數(shù)據(jù)庫(kù)產(chǎn)品較多、開(kāi)發(fā)工具也很多。每種產(chǎn)品都具有各自的特點(diǎn)和適用范圍,因此,在選擇數(shù)據(jù)庫(kù)時(shí),應(yīng)考慮數(shù)據(jù)庫(kù)應(yīng)用的特點(diǎn)及適用范圍,在選擇開(kāi)發(fā)工具時(shí)也考慮它的健壯性、可移性、安全性等問(wèn)題。2.3 用戶要求2.3.1 信息

8、需求教務(wù)管理系統(tǒng)涉及的實(shí)體有:l 教師工作證號(hào)、姓名、職稱、電話等;l 學(xué)生學(xué)號(hào)、姓名、性別、出生年月等;l 班級(jí)班號(hào)、最低總學(xué)分等;l 系系代號(hào)、系名和系辦公室電話等;l 課程課序號(hào)、課名、學(xué)分、上課時(shí)間及名額等。這些實(shí)體之間的聯(lián)系如下:l 每個(gè)學(xué)生都屬于一個(gè)班,每個(gè)班都屬于一個(gè)系,每個(gè)教師也都屬于一個(gè)系。l 每個(gè)班的班主任都由一名教師擔(dān)任。l 一名教師可以教多門(mén)課,一門(mén)課可以有幾位主講老師,但不同老師講的同一門(mén)課其課序號(hào)是不同的(課序號(hào)是唯一的)。l 一名同學(xué)可以選多門(mén)課,一門(mén)課可被若干同學(xué)選中。l 一名同學(xué)選中的課若已學(xué)完,應(yīng)該記錄有相應(yīng)成績(jī)。2.3.2 處理需求教務(wù)系統(tǒng)主要提供數(shù)據(jù)維護(hù)

9、、選課和信息查詢。其中常見(jiàn)的查詢有:系統(tǒng)中各對(duì)象的基本信息查詢。 查詢指定班、系的學(xué)生信息(名單、人數(shù)等)。查詢學(xué)生的成績(jī)、學(xué)分情況。查詢教師授課情況和學(xué)生選課情況。2.3.3 安全性與完整性要求l 安全性要求:1.系統(tǒng)應(yīng)設(shè)置訪問(wèn)用戶的標(biāo)識(shí)以鑒別是否是合法用戶,并要求合法用戶設(shè)置其密碼,保證用戶身份不被盜用;2.系統(tǒng)應(yīng)對(duì)不同的數(shù)據(jù)設(shè)置不同的訪問(wèn)級(jí)別,限制訪問(wèn)用戶可查詢和處理數(shù)據(jù)的類別和內(nèi)容;3.系統(tǒng)應(yīng)對(duì)不同用戶設(shè)置不同的權(quán)限,區(qū)分不同的用戶,如學(xué)生,教師,系統(tǒng)管理員。l 完整性要求:1.各種信息記錄的完整性,關(guān)鍵信息記錄內(nèi)容不能為空;2.各種數(shù)據(jù)間相互的聯(lián)系的正確性;3.相同的數(shù)據(jù)在不同記錄中

10、的一致性。2.4 需要的信息管理模塊1、學(xué)生信息管理該模塊是教務(wù)工作人員進(jìn)行對(duì)學(xué)生信息的管理,進(jìn)行學(xué)生信息的添加、修改、刪除。2、教師信息管理教務(wù)工作人員通過(guò)此模塊來(lái)管理教師信息,包括教師信息的添加、修改、刪除等。信息的添加時(shí),需要驗(yàn)證教師的編號(hào)是否重復(fù);刪除和和修改學(xué)生信息,和學(xué)生信息管理模塊相同。3、 院系管理此模塊是用來(lái)管理院系的信息,包括班級(jí)院系的添加,修改,刪除等。在進(jìn)行信息的添加時(shí),需要進(jìn)行班級(jí)的編號(hào)是否重復(fù)的檢查,如院系編號(hào)重復(fù)則對(duì)用戶進(jìn)行提示,不重復(fù)則添加成功。院系管理模塊的刪除和修改和學(xué)生信息管理模塊相同。4、 課程信息管理教務(wù)工作人員通過(guò)該模塊來(lái)管理課程的基本信息,包括課程

11、信息的添加,修改,刪除和班級(jí)課程的設(shè)置等,具體做法同前面的模塊。5、 成績(jī)管理教務(wù)工作人員通過(guò)該模塊來(lái)進(jìn)行學(xué)生成績(jī)的管理,在進(jìn)行學(xué)生成績(jī)的添加時(shí),可用它來(lái)為學(xué)生設(shè)置所在班級(jí)的課程表來(lái)直接輸入成績(jī)。6、 綜合查詢通過(guò)該模塊可以查詢教務(wù)所需要的各種信息。如學(xué)生信息查詢提供了包括學(xué)生學(xué)號(hào)、姓名、所在班級(jí)、班主任名字和宿舍等信息,學(xué)生信息進(jìn)行查詢的各種查詢條件,用戶可以根據(jù)單個(gè)的查詢條件或者它們的組合來(lái)進(jìn)行查詢。同時(shí),在查詢的時(shí)候還提供了進(jìn)行模糊查詢的功能,即該模塊能夠利用讀者輸入的非完整的查詢條件進(jìn)行查詢,這樣更加方便了用戶的查詢管理。綜合查詢模塊包括了學(xué)生信息查詢、教師信息查詢、班級(jí)信息查詢、院系

12、信息查詢、課程信息查詢和成績(jī)查詢等各種功能查詢。3 概念結(jié)構(gòu)設(shè)計(jì)3.1設(shè)計(jì)分析在概念結(jié)構(gòu)設(shè)計(jì)中,我采用自底向上設(shè)計(jì)概念結(jié)構(gòu)的方法。即第一步抽象數(shù)據(jù)并設(shè)計(jì)局部視圖,第二步是集成局部視圖,得到全局的概念結(jié)構(gòu)。3.2概念模型設(shè)計(jì)3.2.1局部概念結(jié)構(gòu)設(shè)計(jì)(1)、系內(nèi)的關(guān)系模式圖工資1n1n1n教師班級(jí)屬于最低總學(xué)分班號(hào)電話郵箱姓名工作證號(hào)系系辦公室電話系名系代號(hào)屬于工作學(xué)生學(xué)號(hào)年齡性別姓名系代號(hào) 圖3-1 系內(nèi)關(guān)系模式圖(2)、選課系統(tǒng)的關(guān)系模式圖選修期中成績(jī)平時(shí)成績(jī)最后成績(jī)總評(píng)成績(jī)期末成績(jī)年齡學(xué)號(hào)課名學(xué)分課序號(hào)nm姓名課程學(xué)生名額性別系代號(hào)圖3-2 選課系統(tǒng)的關(guān)系模式圖課序號(hào)課名(3)、教師授課系

13、統(tǒng)關(guān)系模型圖授課工資教師電話郵箱姓名工作證號(hào)課程n1名額學(xué)分圖3-3 教師授課系統(tǒng)關(guān)系模型圖(4)、教師與班級(jí)的關(guān)系模型圖課名班級(jí)負(fù)責(zé)最低總學(xué)分班號(hào)教師電話工資姓名工作證號(hào)n1郵箱圖3-4 教師與班級(jí)的關(guān)系模型圖3.2.2 全局概念結(jié)構(gòu)模型(E-R圖)選修平時(shí)成績(jī)最后成績(jī)總評(píng)成績(jī)期中成績(jī)期末成績(jī)課名課序號(hào)學(xué)分年齡學(xué)號(hào)姓名nm課程學(xué)生名額性別n系代號(hào)屬于n1課名班號(hào)授課負(fù)責(zé)班級(jí)n最低總學(xué)分n屬于111工作n1工資系教師系代號(hào)系名系辦公室電話電話姓名工作證號(hào)郵箱圖3-5 全局概念結(jié)構(gòu)模型圖4 邏輯結(jié)構(gòu)設(shè)計(jì)關(guān)系模式的設(shè)計(jì)與優(yōu)化E-R圖向關(guān)系模型的轉(zhuǎn)換:1 “教師”實(shí)體對(duì)應(yīng)的關(guān)系模式: 教師(工作證號(hào)

14、,姓名,工資,電話,郵箱,系代號(hào))代碼表示為:Teacher(Tno. Tname. Salary. Tel. Email. Dno)其中,工作證號(hào)為其候選碼,又因?yàn)榻處熍c系別之間是n:1的工作關(guān)系,經(jīng)過(guò)與系別關(guān)系模式的合并后,系別號(hào)Dno成為教師關(guān)系模式的外碼,存在的關(guān)系依賴為T(mén)no ( Tname,Salary,Tel,Email,Dno),不存在對(duì)候選碼的部分依賴與傳遞依賴,所以滿足BCNF。2 “學(xué)生”實(shí)體對(duì)應(yīng)的關(guān)系模式: 學(xué)生(學(xué)號(hào),姓名,性別,年齡,班號(hào),系代號(hào)) 代碼表示:Student ( Sno, Sname, Ssex, Sage. Class .Dno)其中,學(xué)號(hào)為其候選

15、碼,又因?yàn)閷W(xué)生與班級(jí)之間是n:1的屬于關(guān)系,經(jīng)過(guò)與班級(jí)關(guān)系模式的合并后,班號(hào)Class成為學(xué)生關(guān)系模式的外碼,存在的關(guān)系依賴為Sno(Sname,Ssex.Sage.Class. Dno),Class Dno,存在對(duì)候選碼的傳遞依賴,所以滿足2NF.3 系(系代號(hào),系名,系辦公室電話) 代碼表示:Sdept ( Dno, Dname, Dphone ) 系代號(hào)為候選碼,存在的函數(shù)依賴為Dno (Dname,Dphone),且不存在部分依賴與傳遞依賴,所以滿足BCNF。4 “選修”聯(lián)系對(duì)應(yīng)的關(guān)系模式: 選課(學(xué)號(hào),課序號(hào),最后成績(jī),平時(shí)成績(jī),期中成績(jī),期末成績(jī),) 代碼表示:SC ( Sno,

16、Cno,Grade. Daigrade. Midbrade. Lasgrade,)此為m:n聯(lián)系“選修”所對(duì)應(yīng)的關(guān)系模式。Sno和Cno均為外碼。存在的函數(shù)依賴為完全函數(shù)依賴(Sno,Cno) (Grade.Daigrade. Midbrade. Lasgrade. Fingrade),且不存在部分依賴與傳遞依賴,所以滿足BCNF。5 “課程”實(shí)體對(duì)應(yīng)的關(guān)系模式:課程(課序號(hào),課名,學(xué)分,名額,工作證號(hào))代碼表示:Course ( Cno, Cname, Credit, Cnum, Tno )其中,課號(hào)為其候選碼,又由于課程與教師之間是n:1的授課關(guān)系,所以經(jīng)過(guò)關(guān)系模式的合并后,教師的工作證號(hào)

17、被合并為課程關(guān)系模式中的外碼。存在的函數(shù)依賴為Cno (Cname,Credit,Cnum,Tno),且不存在對(duì)候選碼的部分依賴和傳遞依賴,所以,滿足BCNF。6 “班級(jí)”實(shí)體對(duì)應(yīng)的關(guān)系模式:班級(jí)(班號(hào),最低總學(xué)分,工作證號(hào),系代號(hào))代碼表示:Class ( Class, Ccredit, Tno. Dno )其中,班號(hào)為其候選碼,又由于班級(jí)與系別之間是n:1的“屬于”關(guān)系,經(jīng)過(guò)“班級(jí)”與“系別”兩個(gè)實(shí)體關(guān)系模式的合并后,系號(hào)被合并為班級(jí)對(duì)應(yīng)的關(guān)系模式的外碼。而班級(jí)與教師之間是n:1的“負(fù)責(zé)”關(guān)系,所以按照規(guī)定,教師的工作證號(hào)也被合并為班級(jí)的外碼。存在的函數(shù)依賴為Class (Ccredit,

18、 Tno.Dno ),其中Class Tno,而Tno Dno,即存在對(duì)候選碼的傳遞依賴,所以只滿足2NF。5 物理結(jié)構(gòu)設(shè)計(jì)5.1 數(shù)據(jù)表的設(shè)計(jì)根據(jù)實(shí)體屬性圖可以建立以下各表,建表的同時(shí)定義表有關(guān)的完整性約束條件。1 學(xué)生基本信息表表5-1學(xué)生基本信息表列名長(zhǎng)度類型NULLDEFAULT主鍵學(xué)號(hào)10char()nonoYes姓名20varchar()nonono性別2char()nonono所在專業(yè)2char()yesnono所屬院系2char()yesnono聯(lián)系電話11char()yesnono2 專業(yè)基本信息表表5-2 專業(yè)基本信息表列名長(zhǎng)度類型NULLDEFAULT主鍵專業(yè)編號(hào)2cha

19、r()nonoYes專業(yè)名稱20varchar()nonono所屬院系2char()yesnono總學(xué)分5char()yesnono必修學(xué)分5char()yesnono3 學(xué)生成績(jī)表表5-3學(xué)生成績(jī)表列名長(zhǎng)度類型NULLDEFAULT主鍵學(xué)號(hào)10char()nonono姓名20char()nonono課程名稱10char()nonono學(xué)期學(xué)年3char()yesnono成績(jī)2char()yesnono授課教師2char()yesnono4 院系基本信息表表5-4院系基本信息表列名長(zhǎng)度類型NULLDEFAULT主鍵院系號(hào)2char()nonoyes院系名稱20char()yesnono負(fù)責(zé)人1

20、0char()yesnono教務(wù)管理員10char()yesnono5 教師基本信息表表5-5教師基本信息表列名長(zhǎng)度類型NULLDEFAULT主鍵教師編號(hào)10char()nonoyes姓名20varchar()nonono性別2char()yesnono所屬院系2char()yesnono6 評(píng)教基本信息表表5-6評(píng)教基本信息表列名長(zhǎng)度類型NULLDEFAULT主鍵教師編號(hào)10char()nonono教師姓名20varchar()yesnono課程編號(hào)50varchar()nonono課程名稱10char()yesnono滿意度2char()yesnono7 課程基本信息表表5-7課程基本信息

21、表列名長(zhǎng)度類型NULLDEFAULT主鍵課程編號(hào)20varchar()nonoyes課程名稱10char()nonono任課教師10char()yesnono開(kāi)設(shè)院系30varchar()yesnono8 班級(jí)基本信息表表5-8班級(jí)基本信息表列名長(zhǎng)度類型NULLDEFAULT主鍵班級(jí)編號(hào)10char()nonoyes班級(jí)人數(shù)3char()yesnono所屬院系2char()yesnono9 網(wǎng)上選課基本信息表表5-9網(wǎng)上選課基本信息表列名長(zhǎng)度類型NULLDEFAULT主鍵課程號(hào)50varchar()nonono開(kāi)課院系30varchar()yesnono已選人數(shù)3char()nonono課程類

22、別1char()yesnono限選人數(shù)3char()yesnono5.2 數(shù)據(jù)庫(kù)完整性設(shè)計(jì)數(shù)據(jù)庫(kù)完整性是指數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確性和相容性。數(shù)據(jù)完整性包括三類:實(shí)體完整性,參照體完整性和用戶定義完整性。5.2.1 數(shù)據(jù)庫(kù)實(shí)體的完整性設(shè)計(jì)本教務(wù)管理系統(tǒng)數(shù)據(jù)庫(kù)的實(shí)體有:學(xué)生,教師,專業(yè),院系,教室,考試成績(jī),課程。為保證實(shí)體的完整性,將以上所有實(shí)體的主屬性的屬性值都設(shè)置為非空。5.2.2 數(shù)據(jù)庫(kù)參照完整性設(shè)計(jì)1、學(xué)生與課程選修關(guān)系模式學(xué)生信息(學(xué)號(hào),姓名,性別,年齡) 主鍵:學(xué)號(hào)課程信息(課程號(hào),課程名稱,學(xué)分)主鍵:課程號(hào)選修(學(xué)號(hào),課程號(hào),考試成績(jī))主鍵:學(xué)號(hào),課程號(hào)2、學(xué)生與班級(jí)的從屬關(guān)系模式:

23、學(xué)生信息(學(xué)號(hào),姓名,班級(jí)編號(hào))主鍵:學(xué)號(hào)班級(jí)信息(班級(jí)編號(hào),班級(jí)名稱,專業(yè)名稱,院系名稱)主鍵:班級(jí)編號(hào)3、學(xué)生與考試成績(jī)的考試關(guān)系模式學(xué)生信息(學(xué)號(hào),姓名)主鍵:學(xué)號(hào)成績(jī)信息(成績(jī)號(hào),課程編號(hào))主鍵:成績(jī)號(hào)4、班級(jí)與專業(yè)的從屬關(guān)系模式專業(yè)信息(專業(yè)編號(hào),專業(yè)名稱)主鍵:專業(yè)編號(hào)班級(jí)信息(班級(jí)編號(hào),班級(jí)名稱,專業(yè)編號(hào))主鍵:班級(jí)編號(hào)5、專業(yè)與院系的從屬關(guān)系模式院系信息(院系編號(hào),專業(yè)名稱)主鍵:專業(yè)編號(hào)專業(yè)信息(專業(yè)編號(hào),專業(yè)名稱,院系編號(hào))主鍵:專業(yè)編號(hào)6、教師與課程的授課關(guān)系模式教師(教師編號(hào),姓名) 主鍵:教師編號(hào)課程(課程編號(hào),課程名稱)主鍵:課程編號(hào)授課(課程名稱,教師編號(hào),課時(shí))

24、主鍵:課程名稱,教師編號(hào)5.2.3數(shù)據(jù)庫(kù)的用戶定義完整性設(shè)計(jì)學(xué)生基本信息表:(1)性別必須是男或女(2)身份證號(hào)必須是18位(3)所在專業(yè),所屬院系必須是本系統(tǒng)提供的5.3數(shù)據(jù)庫(kù)安全性設(shè)計(jì)數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù)以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。系統(tǒng)安全保護(hù)措施是否有效是數(shù)據(jù)庫(kù)系統(tǒng)的主要指標(biāo)之一。數(shù)據(jù)庫(kù)的安全性和計(jì)算機(jī)系統(tǒng)的安全性,包括操作系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)的安全性是緊密聯(lián)系、相互支持的。 信息系統(tǒng)盡管功能強(qiáng)大,技術(shù)先進(jìn),但由于受到自身體系結(jié)構(gòu),設(shè)計(jì)思路以及運(yùn)行機(jī)制 等限制,也隱含許多不安全因素。常見(jiàn)因素有:數(shù)據(jù)的輸入,輸出,存取與備份,源程序以及應(yīng)用軟件,數(shù)據(jù)庫(kù),操作系統(tǒng)等漏洞

25、或缺陷,硬件,通信部分的漏洞,企業(yè)內(nèi)部人員的因素,病毒,“黑客”等因素。因此,為使本系統(tǒng)能夠真正安全,可靠,穩(wěn)定地工作,必須考慮如下問(wèn)題:為保證安全,不致使系統(tǒng)遭到意外事故的損害,系統(tǒng)因該能防止火,盜或其他形式的人為破壞。 1) 系統(tǒng)要能重建2) 系統(tǒng)應(yīng)該是可審查的3) 系統(tǒng)應(yīng)能進(jìn)行有效控制,抗干擾能力強(qiáng)4) 系統(tǒng)使用者的使用權(quán)限是可識(shí)別的6 應(yīng)用程序設(shè)計(jì)6.1 系統(tǒng)功能模塊圖本系統(tǒng)設(shè)計(jì)的并不復(fù)雜,模塊劃分也比較清楚。通過(guò)對(duì)不同的功能進(jìn)行分析,就可以得到系統(tǒng)的模塊劃分:登錄管理模塊,又分為管理員登錄、教師登錄和學(xué)生登錄三個(gè)子模塊;管理員模塊,包括對(duì)教師信息、課程信息、學(xué)生信息和學(xué)生成績(jī)進(jìn)行查詢

26、、添加、修改及刪除等子模塊; 教師模塊,包括對(duì)個(gè)人信息的查詢及密碼的修改、課表的查詢等子模塊; 學(xué)生模塊,包括對(duì)個(gè)人信息的查詢及密碼的修改、網(wǎng)上選課、課表的查詢和個(gè)人成績(jī)的查詢等子模塊教務(wù)管理系統(tǒng)學(xué)生教師管理員登錄管理成績(jī)查詢網(wǎng)上選課密碼修改課表查詢個(gè)人信息查詢課表查詢密碼修改個(gè)人信息查詢學(xué)生成績(jī)管理學(xué)生信息管理課程信息管理教師信息管理學(xué)生登錄教師登錄管理員登錄修改學(xué)生信息添加學(xué)生信息查詢學(xué)生信息刪除課程信息修改課程信息添加課程信息查詢課程信息刪除教師信息修改教師信息添加教師信息查詢教師信息刪除學(xué)生信息刪除學(xué)生成績(jī)修改學(xué)生成績(jī)添加學(xué)生成績(jī)查詢學(xué)生成績(jī) 圖6-1 系統(tǒng)模塊圖6.2系統(tǒng)界面1 系統(tǒng)

27、的主界面圖6-2 系統(tǒng)主界面部分設(shè)計(jì)代碼如下:namespace 教務(wù)管理系統(tǒng)public MainForm()InitializeComponent();protected override void Dispose( bool disposing )if( disposing )if (components != null) components.Dispose();base.Dispose( disposing );private bool checkChildFrmExist(string childFrmName)foreach(Form childFrm in this.MdiCh

28、ildren)if(childFrm.Name = childFrmName) if(childFrm.WindowState = FormWindowState.Minimized)childFrm.WindowState = FormWindowState.Normal;childFrm.Activate();return true;return false;private void menuItem2_Click(object sender, System.EventArgs e)if (this.checkChildFrmExist(ClassInfo) = true)return;C

29、lassInfo newFrm=new ClassInfo();newFrm.MdiParent = this;newFrm.Show();private void menuItem3_Click(object sender, System.EventArgs e)if (this.checkChildFrmExist(StudentInfo) = true)return;StudentInfo newFrm=new StudentInfo();newFrm.MdiParent = this;newFrm.Show();private void menuItem4_Click(object s

30、ender, System.EventArgs e)if (this.checkChildFrmExist(CourseInfo) = true)return;CourseInfo newFrm=new CourseInfo();newFrm.MdiParent = this;newFrm.Show();private void menuItem6_Click(object sender, System.EventArgs e)if (this.checkChildFrmExist(CourseElect) = true)return;CourseElect newFrm=new Course

31、Elect();newFrm.MdiParent = this;newFrm.Show();private void menuItem7_Click(object sender, System.EventArgs e) if (this.checkChildFrmExist(CurriculumSchedule) = true) return; CurriculumSchedule newFrm=new CurriculumSchedule();newFrm.MdiParent = this;newFrm.Show();private void menuItem8_Click(object s

32、ender, System.EventArgs e)if (this.checkChildFrmExist(ScoreInput) = true)return;ScoreInput newFrm=new ScoreInput();newFrm.MdiParent = this;newFrm.Show();private void menuItem11_Click(object sender, System.EventArgs e)this.Close();2學(xué)生選課界面界面圖6-3 學(xué)生選課界面部分程序代碼如下:private void CourseElect_Load(object send

33、er, System.EventArgs e)dataGrid1.DataSource=this.electTable;string strConn=workstation id=localhost;Integrated Security=SSPI;database=eisbook;SqlConnection cn=new SqlConnection(strConn);cn.Open();string sql=select a.課序號(hào),a.課程編號(hào),b.課程名稱,b.教師,b.開(kāi)課系別,+a.上課地點(diǎn),a.上課時(shí)間天,a.上課時(shí)間節(jié),b.拼音碼+ from 課程表a,課程信息b+ where

34、(b.本學(xué)期課程=Y)and(a.課程編號(hào)=b.課程編號(hào));SqlDataAdapter da2=new SqlDataAdapter(sql,cn);da2.Fill(this.courseTable);this.dv=courseTable.DefaultView;dataGrid2.DataSource=dv;private void ShowInfo()/string strConn=workstation id=localhost;Integrated Security=SSPI;database=eisbook;SqlConnection cn=new SqlConnection(

35、strConn);cn.Open();SqlCommand cmd=cn.CreateCommand();cmd.CommandText=select a.姓名,b.班級(jí)名稱,a.學(xué)籍編號(hào)from 學(xué)生信息a,班級(jí)信息b +where(a.班級(jí)編號(hào)=b.班級(jí)編號(hào))and(學(xué)號(hào)=+txt1.Text.Trim()+);SqlDataReader dr=cmd.ExecuteReader();dr.Read();if(!dr.HasRows)MessageBox.Show(無(wú)此學(xué)生,請(qǐng)重新輸入學(xué)號(hào),提示,MessageBoxButtons.OK,MessageBoxIcon.Stop);dr.Cl

36、ose();return;if(dr.GetValue(2).ToString().Trim()!=1)MessageBox.Show(該學(xué)生并非在籍學(xué)生,不能選課,提示,MessageBoxButtons.OK,MessageBoxIcon.Stop); return;txt2.Text=dr.GetValue(0).ToString().Trim();txt3.Text=dr.GetValue(1).ToString().Trim();dr.Close();string sql=select a.學(xué)號(hào),a.課序號(hào),b.課程名稱,b.教師,+b.開(kāi)課系別,c.上課時(shí)間天,c.上課時(shí)間節(jié),c.

37、上課地點(diǎn)+ from 選課表a,課程信息b,課程表c+ where(a.課序號(hào)=c.課序號(hào))and(200400000+b.課程編號(hào)=a.課序號(hào))+and(a.學(xué)號(hào)=+txt1.Text.Trim()+);SqlDataAdapter da=new SqlDataAdapter(sql,cn);da.Fill(this.electTable);this.studentID=txt1.Text.Trim();this.stduentName=txt2.Text.Trim();btnElect.Enabled=true;btnDelete.Enabled=true;btnView.Enabled=

38、true;private void btnElect_Click(object sender, System.EventArgs e)if(dv.Count=0)MessageBox.Show(可選課表為空,無(wú)法選課,提示,MessageBoxButtons.OK,MessageBoxIcon.Stop);return;string courseID=dataGrid2dataGrid2.CurrentCell.RowNumber,0.ToString().Trim();string courseDay=dataGrid2dataGrid2.CurrentCell.RowNumber,6.To

39、String().Trim();string courseSec=dataGrid2dataGrid2.CurrentCell.RowNumber,7.ToString().Trim();foreach(DataRow aRow in this.electTable.Rows)if(aRow課序號(hào).ToString().Trim()=courseID)MessageBox.Show(所選課程已經(jīng)在課程表中,課程重復(fù),MessageBoxButtons.OK,MessageBoxIcon.Stop);return;if(aRow上課時(shí)間天.ToString().Trim()=courseDay&

40、aRow上課時(shí)間節(jié).ToString().Trim()=courseSec)string msg=所選課程和已選課程:+aRow課程名稱.ToString().Trim()+ 上課時(shí)間沖突;MessageBox.Show(msg,時(shí)間沖突,MessageBoxButtons.OK,MessageBoxIcon.Stop);return;string strConn=workstation id=localhost;Integrated Security=SSPI;database=eisbook;SqlConnection cn=new SqlConnection(strConn);cn.Op

41、en();SqlCommand cmd=cn.CreateCommand();cmd.CommandText=insert into 選課表(學(xué)號(hào),課序號(hào)) values(+this.studentID+,+courseID+);cmd.ExecuteNonQuery();this.electTable.Clear();string sql=select a.學(xué)號(hào),a.課序號(hào),b.課程名稱,b.教師,+b.開(kāi)課系別,c.上課時(shí)間天,c.上課時(shí)間節(jié),c.上課地點(diǎn)+ from 選課表a,課程信息b,課程表c+ where(a.課序號(hào)=c.課序號(hào))and(200400000+b.課程編號(hào)=a.課序號(hào)

42、)+and(a.學(xué)號(hào)=+this.studentID+);SqlDataAdapter da=new SqlDataAdapter(sql,cn);da.Fill(this.electTable);3 學(xué)生信息的查詢界面圖6-4 學(xué)生信息的增加、刪除、修改部分代碼如下:namespace 教務(wù)管理系統(tǒng)protected override void Dispose( bool disposing )if( disposing )if(components != null)components.Dispose();base.Dispose( disposing );protected void t

43、oolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)if (e.Button.ToolTipText = 首記錄)this.dataGrid1.UnSelect(cmOrders.Position); /取消原選中的行cmOrders.Position = 0;this.dataGrid1.Select(cmOrders.Position); /選中當(dāng)前行this.dataGrid1.CurrentRowIndex = cmOrders.Position; /移動(dòng)表頭指示圖標(biāo)

44、return;if (e.Button.ToolTipText = 上一記錄)if (cmOrders.Position = 0)this.dataGrid1.UnSelect(cmOrders.Position); cmOrders.Position-;this.dataGrid1.Select(cmOrders.Position); this.dataGrid1.CurrentRowIndex = cmOrders.Position; return;if (e.Button.ToolTipText = 下一記錄)if (cmOrders.Position 0)cmOrders.RemoveAt(cmOrders.Position);da1.Update(dataSet11);elseMessageBox.Show(表中為空,已無(wú)可刪除數(shù)據(jù),提示,MessageBoxButtons.OK,MessageBoxI

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論