網(wǎng)絡(luò)數(shù)據(jù)庫(kù)課程設(shè)計(jì)——學(xué)籍管理系統(tǒng).doc_第1頁(yè)
網(wǎng)絡(luò)數(shù)據(jù)庫(kù)課程設(shè)計(jì)——學(xué)籍管理系統(tǒng).doc_第2頁(yè)
網(wǎng)絡(luò)數(shù)據(jù)庫(kù)課程設(shè)計(jì)——學(xué)籍管理系統(tǒng).doc_第3頁(yè)
網(wǎng)絡(luò)數(shù)據(jù)庫(kù)課程設(shè)計(jì)——學(xué)籍管理系統(tǒng).doc_第4頁(yè)
網(wǎng)絡(luò)數(shù)據(jù)庫(kù)課程設(shè)計(jì)——學(xué)籍管理系統(tǒng).doc_第5頁(yè)
已閱讀5頁(yè),還剩27頁(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、 網(wǎng)絡(luò)數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告設(shè)計(jì)名稱:學(xué)籍管理系統(tǒng)學(xué) 院: * 專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班 級(jí):計(jì)科 * 姓 名: 學(xué) 號(hào):08* 指導(dǎo)教師: * 目 錄引 言2第1章 題目背景與可行性分析31。1 設(shè)計(jì)背景31.2 開發(fā)環(huán)境可行性3第2章 學(xué)生學(xué)籍管理系統(tǒng)的需求分析42。1 用戶需求分析42.2 功能需求分析42.4 劃分系統(tǒng)模塊425 數(shù)據(jù)字典52。5。1 數(shù)據(jù)項(xiàng)52.5.2 數(shù)據(jù)結(jié)構(gòu)72.5。3 數(shù)據(jù)流82。5.4 數(shù)據(jù)存儲(chǔ)92。5。5 處理過(guò)程9第3章 學(xué)生學(xué)籍管理系統(tǒng)設(shè)計(jì)103。1 數(shù)據(jù)庫(kù)設(shè)計(jì)103。1。1 概念結(jié)構(gòu)設(shè)計(jì)103.2 前臺(tái)程序設(shè)計(jì)153。2。1 功能模塊設(shè)計(jì)153.2.2

2、程序模塊設(shè)計(jì)163.2。3 系統(tǒng)流程16第4章 學(xué)生學(xué)籍管理系統(tǒng)實(shí)現(xiàn)174.1 數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)174。1.1 數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)174.1.2 表的設(shè)計(jì)與實(shí)現(xiàn)184。1。4 約束的設(shè)計(jì)與實(shí)現(xiàn)214。1.5 觸發(fā)器的設(shè)計(jì)與實(shí)現(xiàn)224.1。6 索引的設(shè)計(jì)與實(shí)現(xiàn)254.1.7 存儲(chǔ)過(guò)程的設(shè)計(jì)與實(shí)現(xiàn)264.1。4 數(shù)據(jù)庫(kù)訪問(wèn)及操作權(quán)限的設(shè)計(jì)與實(shí)現(xiàn)274.2 前臺(tái)應(yīng)用程序的實(shí)現(xiàn)(略)28結(jié)束語(yǔ)28參考文獻(xiàn)29引 言學(xué)生學(xué)籍管理是教育教學(xué)單位不可缺少的部分,它的內(nèi)容對(duì)教學(xué)管理和學(xué)校的決策者都非常重要.給學(xué)校教學(xué)管理提供了很大的方便性,提高了工作效率。但是一直以來(lái)人們用傳統(tǒng)人工的方式管理文件文檔,這種管理方

3、式效率低,保密性差,出錯(cuò)不易更改,同時(shí)也耗費(fèi)了大量的人力財(cái)力,時(shí)間一長(zhǎng),將產(chǎn)生大量的文件數(shù)據(jù),這對(duì)于查找,維護(hù),更新都帶來(lái)了很大的困難.隨著科學(xué)技術(shù)的不斷發(fā)展,尤其是計(jì)算機(jī)軟件水平的日益提高,使得以上問(wèn)題得到了很好的解決。使用計(jì)算機(jī)可以方便的對(duì)大量數(shù)據(jù)進(jìn)行增加,刪除,更新等操作。它有著人工管理永遠(yuǎn)無(wú)法比擬的優(yōu)點(diǎn): 檢索迅速,查找方便,可靠性大,存儲(chǔ)量大,保密性好,壽命長(zhǎng),成本低等。例如:通過(guò)校園網(wǎng),我們可以方便的進(jìn)行學(xué)生信息查詢,學(xué)生成績(jī)的添加,以及最新的教務(wù)通知等。當(dāng)然,這些都離不開數(shù)據(jù)庫(kù)技術(shù)和網(wǎng)絡(luò)技術(shù)的支持。數(shù)據(jù)庫(kù)是數(shù)據(jù)管理的最新技術(shù),是計(jì)算機(jī)計(jì)算機(jī)技術(shù)的重要分支,也是計(jì)算機(jī)領(lǐng)域發(fā)展最快的

4、學(xué)科之一.學(xué)生學(xué)籍管理系統(tǒng)就是數(shù)據(jù)庫(kù)在網(wǎng)絡(luò)上應(yīng)用。 綜上,開發(fā)這樣的一個(gè)學(xué)籍管理系統(tǒng)十分必要。同時(shí)舊的人工管理機(jī)制必將被以計(jì)算機(jī)為基礎(chǔ)的信息管理所取代,從而實(shí)現(xiàn)對(duì)數(shù)據(jù)的高效,長(zhǎng)久,安全的管理。第1章 題目背景與可行性分析1.1 設(shè)計(jì)背景隨著我國(guó)教育體制改革的深入進(jìn)行,教育系統(tǒng)得到了前所未有的發(fā)展.學(xué)生管理正在逐步邁向管理信息現(xiàn)代化。但是我國(guó)的學(xué)生管理信息化水平還處在初級(jí)階段,主要表現(xiàn)在對(duì)學(xué)生的交費(fèi)管理、學(xué)生的檔案管理還是采用原有的人工管理方式.學(xué)校的規(guī)模不斷擴(kuò)大,學(xué)生數(shù)量急劇增加,有關(guān)學(xué)生的各種信息量也成倍增長(zhǎng)。由于大學(xué)生類別和專業(yè)的設(shè)置的多樣化,大學(xué)生的學(xué)籍管理歷來(lái)是非常繁瑣和復(fù)雜的的工作。

5、面對(duì)龐大的信息量, 這時(shí)的人工管理幾乎無(wú)法實(shí)現(xiàn),在這種情況下用數(shù)據(jù)庫(kù)進(jìn)行管理變的尤為必要,這可以發(fā)揮計(jì)算機(jī)的優(yōu)勢(shì),就需要有學(xué)生信息管理系統(tǒng)來(lái)提高學(xué)生管理工作的效率.通過(guò)這樣的系統(tǒng),可以做到信息的規(guī)范管理,科學(xué)統(tǒng)計(jì)和快速的查詢,從而減少管理方面的工作量和減少人為的錯(cuò)誤。1。2 開發(fā)環(huán)境可行性本學(xué)生學(xué)籍管理系統(tǒng)(數(shù)據(jù)庫(kù)系統(tǒng))的開發(fā)與運(yùn)行環(huán)境如下:開發(fā)環(huán)境:Windows XP輔助工具:PowerDesigner Trial 11數(shù)據(jù)庫(kù)管理系統(tǒng):SQL Server 2000運(yùn)行環(huán)境:Windows 2000/XP/2003第2章 學(xué)生學(xué)籍管理系統(tǒng)的需求分析2.1 用戶需求分析本系統(tǒng)是針對(duì)高等院校的

6、學(xué)生學(xué)籍管理,因此學(xué)籍管理系統(tǒng)的用戶包括系統(tǒng)管理員、教師和學(xué)生。主要涉及系部信息、班級(jí)信息、任課教師信息、學(xué)生信息、課程信息以及選課記錄和成績(jī)等多種數(shù)據(jù)信息。2。2 功能需求分析 實(shí)現(xiàn)的具體功能如下:l 基本信息管理-系統(tǒng)管理員負(fù)責(zé)對(duì)各種基本信息的錄入、修改、刪除等操作。l 學(xué)生成績(jī)管理系統(tǒng)管理員負(fù)責(zé)對(duì)學(xué)生成績(jī)的錄入、修改、刪除等操作,學(xué)生可以查詢各科成績(jī)。l 信息查詢統(tǒng)計(jì)學(xué)生可以查詢基本信息和各科的考試成績(jī),老師可以查詢基本信息和授課信息,系統(tǒng)管理員負(fù)責(zé)把老師提交的學(xué)生成績(jī)進(jìn)行管理,計(jì)算總成績(jī)和平均成績(jī),統(tǒng)計(jì)不及格學(xué)生信息和獲得獎(jiǎng)學(xué)金學(xué)生的信息,最后再輸出所有的信息。l 系統(tǒng)用戶管理-系統(tǒng)管

7、理員負(fù)責(zé)用不同的權(quán)限來(lái)限制不同用戶對(duì)系統(tǒng)的使用.2。3 安全性與完整性需求分析系統(tǒng)要使得用戶對(duì)學(xué)生的學(xué)籍管理工作更加清晰、條理化、自動(dòng)化,容易地完成學(xué)生信息的查詢、更新、修改等操作,這就要求系統(tǒng)的效率要高,查詢速度要快,比較小的冗余,易維護(hù),具有較高的數(shù)據(jù)安全性。對(duì)于學(xué)生成績(jī)管理模塊,能更加容易的求得學(xué)生的平均成績(jī)、最高分、最低分等,可以按照學(xué)生的成績(jī)進(jìn)行排序處理等。2.4 劃分系統(tǒng)模塊根據(jù)系統(tǒng)功能的需求分析和高等院校學(xué)籍管理的特點(diǎn),經(jīng)過(guò)模塊化的分析得到如下圖2-1所示的系統(tǒng)功能模塊結(jié)構(gòu)圖。學(xué)籍管理系統(tǒng)學(xué)生基本信息模塊成績(jī)管理模塊院系、教師、課程模塊系統(tǒng)模塊圖 2-1 系統(tǒng)功能模塊圖25 數(shù)據(jù)

8、字典數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合,是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果,數(shù)據(jù)字典是對(duì)系統(tǒng)所用到的所有表結(jié)構(gòu)的描述2.5。1 數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)是數(shù)據(jù)庫(kù)的關(guān)系中不可再分的數(shù)據(jù)單位,學(xué)籍管理的主要數(shù)據(jù)項(xiàng)見以下各表,分別列出了數(shù)據(jù)的名稱(即碼)、注釋、數(shù)據(jù)類型、長(zhǎng)度、取值范圍和是否是主碼。表 21 學(xué)生基本信息表序號(hào)名稱注釋數(shù)據(jù)類型長(zhǎng)度主要的1班級(jí)varchar(16)16FALSE2學(xué)號(hào)唯一標(biāo)識(shí)學(xué)生的信息varchar(20)20TRUE3院系代號(hào)varchar(20)5FALSE4專業(yè)號(hào)varchar(20)5FALSE5姓名varchar(6)6FALSE6性別varchar(2)2

9、FALSE7出生年月varchar(20)20FALSE8籍貫varchar(8)8FALSE9民族varchar(2)2FALSE10家庭住址varchar(20)20FALSE11入學(xué)時(shí)間varchar(20)20FALSE12政治面貌varchar(6)6FALSE13身份證號(hào)char(18)18FALSE14聯(lián)系電話varchar(20)20FALSE15備注varchar(14)14FALSE表 22 課程信息表序號(hào)名稱注釋數(shù)據(jù)類型長(zhǎng)度主要的1課程號(hào)varchar(20)20TRUE2課程名varchar(20)203先行課smallintFALSE4學(xué)分integerFALSE5備

10、注varchar(16)16FALSE表 23 院系表序號(hào)名稱注釋數(shù)據(jù)類型長(zhǎng)度主要的1院系代號(hào)varchar(20)20TRUE2院系名varchar(10)10FALSE3系主任varchar(8)8FALSE4備注varchar(16)16FALSE表 2-4 專業(yè)表序號(hào)名稱注釋數(shù)據(jù)類型長(zhǎng)度主要的1專業(yè)號(hào)varchar(20)20TRUE2院系代號(hào)varchar(20)20FALSE3專業(yè)名稱varchar(16)16FALSE4備注varchar(16)16FALSE表 25 教師表序號(hào)名稱注釋數(shù)據(jù)類型長(zhǎng)度主要的1教師號(hào)varchar(20)20TRUE2院系代號(hào)varchar(20)2

11、0FALSE3姓名varchar(6)6FALSE4性別char(2)2FALSE5年齡integerFALSE6工齡integerFALSE7備注varchar(16)16FALSE表 26 學(xué)生課程成績(jī)表序號(hào)名稱注釋數(shù)據(jù)類型長(zhǎng)度主要的1學(xué)號(hào)varchar(20)20TRUE2課程號(hào)varchar(20)20TRUE3成績(jī)varchar(5)5FALSE表 2-7 教師課程關(guān)系表序號(hào)名稱注釋數(shù)據(jù)類型長(zhǎng)度主要的1課程號(hào)varchar(20)20TRUE2教師號(hào)varchar(20)20TRUE2.5.2 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是為反映數(shù)據(jù)之間的組合關(guān)系,即 一個(gè)數(shù)據(jù)結(jié)構(gòu)可以由若干個(gè)數(shù)據(jù)項(xiàng)組成,也可以

12、由若干個(gè)數(shù)據(jù)結(jié)構(gòu)組成,或由若干個(gè)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)組成。本學(xué)籍管理系統(tǒng)的數(shù)據(jù)組成可根據(jù)系統(tǒng)模塊(圖 2-1)的劃分來(lái)設(shè)計(jì),即分為四個(gè)數(shù)據(jù)結(jié)構(gòu),分別如下表所示.表 28 數(shù)據(jù)結(jié)構(gòu)清單數(shù)據(jù)結(jié)構(gòu)名含義說(shuō)明組成學(xué)生基本信息學(xué)生基本信息的描述班級(jí)+學(xué)號(hào)+院系代號(hào)+專業(yè)號(hào)+姓名+性別+出生年月+籍貫+民族+家庭住址+入學(xué)時(shí)間+政治面貌+身份證號(hào)+聯(lián)系電話+備注;成績(jī)管理學(xué)生成績(jī)的管理與查詢管理描述學(xué)號(hào)+課程號(hào)+分?jǐn)?shù);平均分?jǐn)?shù)+最高分+最低分;院系教師課程信息學(xué)校的院系、教師信息以及課程信息的描述課程號(hào)+課程名+先行課+學(xué)分+備注;院系代號(hào)+院系名+系主任+備注;教師號(hào)+院系代號(hào)+姓名+性別+年齡+工齡+備注

13、;系統(tǒng)管理對(duì)系統(tǒng)中的所有表的更新、刪除、修改描述-2。5。3 數(shù)據(jù)流數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂?。?-9是描述數(shù)據(jù)流的數(shù)據(jù)流定義表,其中包含了數(shù)據(jù)流名、說(shuō)明、數(shù)據(jù)流組成、流量與備注等,表210是系統(tǒng)中的數(shù)據(jù)流描述,其中包括輸入數(shù)據(jù)流、輸出數(shù)據(jù)流等的描述。表 29 數(shù)據(jù)流定義表編號(hào)數(shù)據(jù)流名說(shuō)明數(shù)據(jù)流組成流量備注L01學(xué)生基本信息學(xué)生的所有基本信息學(xué)生基本信息結(jié)構(gòu)-L02學(xué)生成績(jī)所有學(xué)生的成績(jī)成績(jī)管理結(jié)構(gòu) L03分類信息同班級(jí)學(xué)生名單部分學(xué)生基本信息結(jié)構(gòu)-L04各門成績(jī)學(xué)生的平均成績(jī)(包括所有學(xué)生和同班級(jí)學(xué)生的成績(jī)情況)成績(jī)管理結(jié)構(gòu)L05科目成績(jī)學(xué)生的單科成績(jī)成績(jī)管理結(jié)構(gòu)-L06教師、專業(yè)

14、、院系信息-學(xué)生相關(guān)信息-L07查詢結(jié)果-L04 L05L08統(tǒng)計(jì)分析L04+L05-表 2-10 數(shù)據(jù)流表使用者名稱輸入數(shù)據(jù)流數(shù)輸出數(shù)據(jù)流數(shù)備注管理員L01+L02+L06L07+L08系統(tǒng)管理員擁有所有權(quán)限教務(wù)處人員L01+L02+L06L07+L08擁有對(duì)學(xué)生和教師的管理權(quán)限任課教師L02L07可對(duì)成績(jī)進(jìn)行查詢與更新學(xué)生L01L07查詢成績(jī)與學(xué)生基本信息2。5.4 數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的來(lái)源和去向之一。其主要包括數(shù)據(jù)存儲(chǔ)名、說(shuō)明、編號(hào)、輸入的數(shù)據(jù)流與輸出的數(shù)據(jù)流、組成、數(shù)據(jù)量,存取頻度、存取方式。下表表示了該學(xué)籍管理系統(tǒng)中的數(shù)據(jù)存儲(chǔ)描述。表 2.11 數(shù)

15、據(jù)存儲(chǔ)描述數(shù)據(jù)存儲(chǔ)名組成輸入數(shù)據(jù)流輸出數(shù)據(jù)流存取頻度存取方式學(xué)生基本信息表學(xué)生基本信息結(jié)構(gòu)L01L01, L07大順序檢索、更新院系教師及專業(yè)表學(xué)生相關(guān)信息數(shù)據(jù)結(jié)構(gòu)L06L06。L07小順序檢索、更新學(xué)生成績(jī)表成績(jī)管理結(jié)構(gòu)L02L07一般順序檢索、更新2.5。5 處理過(guò)程該學(xué)籍管理系統(tǒng)的處理過(guò)程比較少,主要包含了數(shù)據(jù)的追加,更新, 修改以及刪除,還有便是一些查詢處理,包括對(duì)學(xué)生成績(jī)的平均分、最高分最低分的查詢,以及一些分類處理。下圖顯示了這些最基本的處理以及其對(duì)應(yīng)的數(shù)據(jù)流與說(shuō)明。表2.12 處理過(guò)程列表處理名簡(jiǎn)要說(shuō)明輸入數(shù)據(jù)輸出數(shù)據(jù)備注添加數(shù)據(jù)L01, L06-刪除數(shù)據(jù)-L01,L06-更改數(shù)

16、據(jù)-L01, L06,L02L01,L06,L02查詢數(shù)據(jù)-L07統(tǒng)計(jì)分析L08第3章 學(xué)生學(xué)籍管理系統(tǒng)設(shè)計(jì)3。1 數(shù)據(jù)庫(kù)設(shè)計(jì) 學(xué)生學(xué)籍管理系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)是對(duì)于給定的應(yīng)用環(huán)境,構(gòu)造(設(shè)計(jì))優(yōu)化的數(shù)據(jù)邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)和管理數(shù)據(jù),滿足用戶的應(yīng)用需求和數(shù)據(jù)操作要求.3.1.1 概念結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵,它通過(guò)對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成獨(dú)立于具體DBMS的概念模型.(1)數(shù)據(jù)流圖系統(tǒng)的管理模塊里面包含教務(wù)部門(系統(tǒng)管理員和教務(wù)處管理人員)、教師以及學(xué)生,下圖為該學(xué)籍管理系統(tǒng)的系統(tǒng)流圖,教務(wù)部門擁有對(duì)所有表的查詢更新與

17、刪除權(quán)利(分類信息屬于查詢結(jié)果除外);教師可對(duì)教師、專業(yè)以及院系信息,分類信息,學(xué)生情況進(jìn)行查詢,對(duì)成績(jī)單進(jìn)行查詢、更新以及刪除等所有操作;學(xué)生只可對(duì)所有模塊信息進(jìn)行查詢,同時(shí)可對(duì)自己的部分學(xué)生情況進(jìn)行一定的修改與更新。圖3-1系統(tǒng)數(shù)據(jù)流(2)局部ER圖: 學(xué)生與課程實(shí)體及其屬性圖 圖32 學(xué)生基本信息視圖 圖3-3 課程信息視圖根據(jù)學(xué)生與課程的關(guān)系可設(shè)計(jì)如下關(guān)系圖:圖34 學(xué)生與課程關(guān)系視圖專業(yè)、教師及院系實(shí)體及其屬性圖 圖3-5 專業(yè)、教師及院系信息視圖院系、教師以及專業(yè)的關(guān)系圖如下:圖3-6 院系教師以及專業(yè)關(guān)系圖(3) 系統(tǒng)ER圖:合并設(shè)計(jì)中的各個(gè)局部ER圖以及各個(gè)實(shí)體之間的關(guān)系生成系

18、統(tǒng)ER圖如下:圖37 系統(tǒng)E-R圖(4) 概念模型設(shè)計(jì)概念模型是在對(duì)用戶需求分析之后,通過(guò)畫出本系統(tǒng)抽象出的ER圖,由概念模型輔助工具PowerDesigner進(jìn)行設(shè)計(jì),通過(guò)具體地設(shè)置和繪圖,最后就形成了如下所示的概念模型圖,生成的概念結(jié)構(gòu)就能真實(shí)、充分地反映現(xiàn)實(shí)世界,包括事物和事物之間的聯(lián)系,能滿足用戶對(duì)數(shù)據(jù)的處理要求,是對(duì)現(xiàn)實(shí)世界的一個(gè)真實(shí)模型。圖38 系統(tǒng)概念模型設(shè)計(jì)圖3。1。2 邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)就是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本ER圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu).(1)概念模型向物理模型的轉(zhuǎn)換在概念模型設(shè)計(jì)好了之后,可直接在powerdesigner

19、 中將設(shè)計(jì)好了的概念模型轉(zhuǎn)換成物理模型。其具體操作過(guò)程為 點(diǎn)擊主菜單的 ToolsàGenerate Physical Data Model 便可以將當(dāng)前的概念模型轉(zhuǎn)換為物理模型,轉(zhuǎn)換后的物理模型如下圖所示:圖38 物理模型圖 因?yàn)橐粋€(gè)實(shí)體模型轉(zhuǎn)換為一個(gè)關(guān)系模型時(shí)遵循以下規(guī)則1.一個(gè)1:1聯(lián)系可轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并;2.一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并;3。一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,各實(shí)體的碼組成關(guān)系的碼或關(guān)系碼的一部分;所以在轉(zhuǎn)換中院系

20、與專業(yè)合并到學(xué)生基本信息關(guān)系中,院系與專業(yè)的主碼成為學(xué)生信息的外碼,同樣院系的主碼成為教師的外碼。學(xué)生與課程、教師與課程均是多對(duì)多的關(guān)系所以,單獨(dú)的生成了必修與教授兩個(gè)關(guān)系。(2) 數(shù)據(jù)庫(kù)物理模型設(shè)計(jì)在PowerDesigner中將概念模型轉(zhuǎn)換成物理模型之后,我們可以對(duì)物理模型進(jìn)行設(shè)計(jì),雙擊物理模型的關(guān)系,便彈出對(duì)其設(shè)置的對(duì)話框,在General選項(xiàng)卡中可以對(duì)該關(guān)系的名稱、注釋以及碼等信息進(jìn)行設(shè)置。在Columns選項(xiàng)卡中可對(duì)該關(guān)系的屬性列進(jìn)行設(shè)計(jì),可分別設(shè)置其名稱、碼、數(shù)據(jù)類型以及主碼、是否為空等。 下圖顯示了課程與院系兩個(gè)關(guān)系的物理設(shè)計(jì)其中課程號(hào)與院系代號(hào)分別為兩個(gè)關(guān)系的住碼: 圖39 課

21、程與院系的物理設(shè)計(jì) 下圖是教師與專業(yè)兩個(gè)關(guān)系的物理設(shè)計(jì),起中教師號(hào)與專業(yè)號(hào)分別為主碼,因?yàn)榻處熍c專業(yè)均從屬于院系,所以院系代號(hào)分別是兩個(gè)關(guān)系的外碼: 圖3-10 教師與專業(yè)的物理設(shè)計(jì)SC與TC關(guān)系分別是學(xué)生基本信息與課程,教師與課程兩個(gè)多對(duì)多聯(lián)系合并生成的關(guān)系。SC關(guān)系描述了學(xué)生選擇什么課程以及該課程的分?jǐn)?shù),其中來(lái)自兩個(gè)關(guān)系的主碼組成該關(guān)系的主碼同時(shí)也是外碼;TC關(guān)系是教師與課程的聯(lián)系,其描述了每個(gè)教師所教授的課程關(guān)系。 圖 3-11 SC與TC物理設(shè)計(jì)下面是學(xué)生基本信息的物理模型設(shè)計(jì),學(xué)號(hào)作為主碼,因?yàn)閷W(xué)生基本信息與專業(yè)、院系的對(duì)應(yīng)關(guān)系均是n:1的聯(lián)系,所以院系代號(hào)與專業(yè)號(hào)作為學(xué)生基本信息關(guān)

22、系的外碼.圖312 學(xué)生基本信息物理設(shè)計(jì)3。2 前臺(tái)程序設(shè)計(jì)3。2.1 功能模塊設(shè)計(jì)運(yùn)行程序,出現(xiàn)如下登陸界面:身份驗(yàn)證 用戶名 密 碼 現(xiàn)在以系統(tǒng)管理員的身份登陸,用戶名中輸入“Admin”,密碼也是“Admin”。然后單擊“確定”,進(jìn)入程序的主窗口如下: 學(xué)生學(xué)籍管理系統(tǒng) × 院系管理 學(xué)生管理 教師管理 成績(jī)管理 課程管理 系統(tǒng)管理 3.2.2 程序模塊設(shè)計(jì)3.2。3 系統(tǒng)流程單擊“院系管理”,進(jìn)入如下界面:院系班級(jí)管理 院系信息 可以對(duì)院系信息進(jìn)行添加、修改和刪除,單擊“添加”或“修改”進(jìn)入如下界面:編輯部門信息 第4章 學(xué)生學(xué)籍管理系統(tǒng)實(shí)現(xiàn)4.1 數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)4。1。1

23、數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)在實(shí)際設(shè)計(jì)中最常用的存取方法是索引法,使用索引可以大大減少數(shù)據(jù)的查詢時(shí)間,在建立索引時(shí)應(yīng)遵循:在經(jīng)常需要搜索的列上建立索引;在主關(guān)鍵字上建立索引;在經(jīng)常用于連接的列上建立索引,即在外鍵上建立索引;在經(jīng)常需要根據(jù)范圍進(jìn)行搜索的列上創(chuàng)建索引,因?yàn)樗饕呀?jīng)排序,其指定的范圍是連續(xù)的等規(guī)則。才能充分利用索引的作用避免因索引引起的負(fù)面作用。確定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)主要指確定數(shù)據(jù)的存放位置和存儲(chǔ)結(jié)構(gòu),包括確定關(guān)系、索引、日志、備份等的存儲(chǔ)安排及存儲(chǔ)結(jié)構(gòu),以及確定系統(tǒng)存儲(chǔ)參數(shù)的配置。因?yàn)樵搶W(xué)籍管理系統(tǒng)的數(shù)據(jù)量小,而且只作課程設(shè)計(jì)之用,所以我們只用把數(shù)據(jù)存儲(chǔ)在使用的電腦硬盤上,不用作更多的安排。

24、具體設(shè)計(jì)如下:/*-創(chuàng)建數(shù)據(jù)庫(kù)-*/Use mastergoCreate database jinfangOn Primary ( name = jin1,filename = 'c:program filesmicrosoft sql servermssqldatajindata1.mdf,size = 10MB,maxsize = 200,filegrowth = 2),( name = jin2,filename = 'c:program filesmicrosoft sql servermssqldatajindata2。ndf,size = 10MB,maxsize

25、= 200,filegrowth = 2),( name = jin3,filename = c:program filesmicrosoft sql servermssqldatajindata3.ndf',size = 10MB,maxsize = 200,filegrowth = 2)Log on ( name = jinlog1,filename = 'c:program filesmicrosoft sql servermssqldatajinLog1.ldf',size = 1MB,maxsize = 20,filegrowth = 1),( name =

26、jinlog2,filename = c:program filesmicrosoft sql servermssqldatajinLog2。ldf,size = 1MB,maxsize = 20,filegrowth = 1)Go4.1。2 表的設(shè)計(jì)與實(shí)現(xiàn)由需求分析所需要?jiǎng)?chuàng)建的表有學(xué)生基本信息表、課程表、院系表、專業(yè)表、學(xué)生課程成績(jī)表、教師課程關(guān)系表、教師表等,具體實(shí)現(xiàn)代碼如下:-創(chuàng)建課程表-create table Course (課程號(hào) varchar(20) not null,課程名 varchar(20) null,先行課 varchar(20) null,學(xué)分 int null,備

27、注 varchar(16) null,constraint PK_COURSE primary key (課程號(hào)))goexecute sp_addextendedproperty MS_Description', '學(xué)校所有課程描述','user', , table', Coursego-創(chuàng)建院系表-create table Department (院系代號(hào) varchar(5) not null,院系名 varchar(10) null,系主任 varchar(8) null,備注 varchar(16) null,constraint PK

28、_DEPARTMENT primary key (院系代號(hào)))goexecute sp_addextendedproperty MS_Description, '學(xué)校所有的院系信息描述,user, ', table, Department'go-創(chuàng)建專業(yè)表-create table Major ( 專業(yè)號(hào) varchar(5) not null, 院系代號(hào) varchar(5) null, 專業(yè)名稱 varchar(16) null, 備注 varchar(16) null, constraint PK_MAJOR primary key (專業(yè)號(hào)) -創(chuàng)建學(xué)生與課程的

29、成績(jī)表-create table SC ( 學(xué)號(hào) bigint not null, 課程號(hào) varchar(5) not null, 成績(jī) varchar(5) not null, constraint PK_SC primary key (學(xué)號(hào), 課程號(hào))-創(chuàng)建學(xué)生基本信息表-create table Student( 班級(jí) varchar(16) null, 學(xué)號(hào) bigint not null, 院系代號(hào) varchar(8) null, 專業(yè)號(hào) varchar(10) null, 姓名 varchar(6) null, 性別 varchar(2) null, 出生年月 datetime

30、 null, 籍貫 varchar(8) null, 民族 varchar(2) null, 家庭住址 varchar(20) null, 入學(xué)時(shí)間 datetime null, 政治面貌 varchar(6) null, 身份證號(hào) char(18) null, 聯(lián)系電話 varchar(12) null, 備注 varchar(14) null, constraint PK_STUDENTSINFO primary key (學(xué)號(hào)))-創(chuàng)建教師與課程關(guān)系表-create table TC ( 課程號(hào) varchar(5) not null, 教師號(hào) varchar(5) not null,

31、constraint PK_TC primary key (課程號(hào), 教師號(hào))-創(chuàng)建 教師表- -create table Teacher ( 教師號(hào) varchar(5) not null, 院系代號(hào) varchar(5) null, 姓名 varchar(6) null, 性別 char(2) null, 年齡 int null, 工齡 int null, 備注 varchar(16) null, constraint PK_TEACHER primary key (教師號(hào))-當(dāng)上面的代碼運(yùn)行成功后后,在數(shù)據(jù)庫(kù)的Student中便會(huì)生成相應(yīng)的表,包括學(xué)生基本信息表、課程表、教師,專業(yè)和學(xué)院

32、表、以及SC和TC表。數(shù)據(jù)庫(kù)中生成表后,可以對(duì)其進(jìn)行設(shè)計(jì),如下圖便是數(shù)據(jù)庫(kù)中的學(xué)生基本信息表,我們可以對(duì)其每一列以及其數(shù)據(jù)類型、取值范圍和是否是主碼是否可以為空等信息進(jìn)行設(shè)置后或修改。例如下圖,該表的初始狀態(tài)只有學(xué)號(hào)不允許為空,但是這是很不符合實(shí)際情況的,在實(shí)際中我們往往還需要確定學(xué)生的班級(jí)、姓名、入學(xué)時(shí)間所在院系與所屬專業(yè)等情況,要求把這些信息也設(shè)置為不為空。表4-1 數(shù)據(jù)庫(kù)中學(xué)生基本信息表數(shù)據(jù)的載入是一個(gè)非常繁雜和重要的過(guò)程需要很大的工作量,可分為人工輸入與其它格式數(shù)據(jù)文件導(dǎo)入。該系統(tǒng)只是一個(gè)簡(jiǎn)單的實(shí)驗(yàn)系統(tǒng),所以采用手工輸入少量的數(shù)據(jù)可滿足實(shí)驗(yàn)要求即可。下面兩個(gè)表分別顯示了學(xué)生基本信息的錄

33、入與課程信息的錄入。表4-2 學(xué)生基本信息的錄入表4-3 課程信息的錄入4。1.3 視圖的設(shè)計(jì)與實(shí)現(xiàn)視圖是從一個(gè)或幾個(gè)基本表(或視圖)導(dǎo)出的表.它與基本表不同,是一個(gè)虛表.視圖一經(jīng)定義,就可以和基本表一樣被查詢、被刪除.也可以在一個(gè)視圖之上再定義新的視圖,但對(duì)視圖的更新操作則有一定的限制。具體設(shè)計(jì)實(shí)現(xiàn)代碼如下:-建立課程信息視圖-create view Course_jinAsselect 課程號(hào),課程名,先行課,學(xué)分 From course-建立院系視圖-create view Department_jinAsSelect 院系代號(hào),院系名,系主任,備注From department-建立專

34、業(yè)視圖-create view Major_jin AsSelect 專業(yè)號(hào),院系代號(hào),專業(yè)名稱,備注 From major -建立學(xué)生與課程關(guān)系視圖-create view SC_jin Asselect 學(xué)號(hào),課程號(hào),成績(jī) From SC -建立學(xué)生基本信息視圖-create view Student_jin Asselect班級(jí),學(xué)號(hào),院系代號(hào),專業(yè)號(hào), 姓名,性別,出生年月,籍貫, 民族, 家庭住址,入學(xué)時(shí)間,政治面貌,身份證號(hào),聯(lián)系電話,備注 From student -建立教師與課程關(guān)系視圖-create view TC_jinAs select 課程號(hào),教師號(hào)From TC -建

35、立教師信息視圖-create view Teacher _jin AsSelect 教師號(hào),院系代號(hào),姓名,性別,年齡,工齡,備注From teacher 4。1.4 約束的設(shè)計(jì)與實(shí)現(xiàn)數(shù)據(jù)庫(kù)完整性(Database Integrity)是指數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確性和相容性。數(shù)據(jù)庫(kù)完整性由各種各樣的完整性約束來(lái)保證,因此可以說(shuō)數(shù)據(jù)庫(kù)完整性設(shè)計(jì)就是數(shù)據(jù)庫(kù)完整性約束的設(shè)計(jì)。數(shù)據(jù)庫(kù)完整性約束可以通過(guò)DBMS或應(yīng)用程序來(lái)實(shí)現(xiàn),基于DBMS的完整性約束作為模式的一部分存入數(shù)據(jù)庫(kù)中。alter table Major add constraint FK_MAJOR_DM_DEPARTME foreign key

36、 (院系代號(hào)) references Department (院系代號(hào))goalter table SC add constraint FK_SC_SC_STUDENTS foreign key (學(xué)號(hào)) references Student (學(xué)號(hào))goalter table SC add constraint FK_SC_SC2_COURSE foreign key (課程號(hào)) references Course (課程號(hào))goalter table Student add constraint FK_STUDENTS_SD_DEPARTME foreign key (院系代號(hào)) refe

37、rences Department (院系代號(hào))goalter table Student add constraint FK_STUDENTS_SM_MAJOR foreign key (專業(yè)號(hào)) references Major (專業(yè)號(hào))goalter table TC add constraint FK_TC_TC_COURSE foreign key (課程號(hào)) references Course (課程號(hào))goalter table TC add constraint FK_TC_TC2_TEACHER foreign key (教師號(hào)) references Teacher (教

38、師號(hào))goalter table Teacher add constraint FK_TEACHER_TD_DEPARTME foreign key (院系代號(hào)) references Department (院系代號(hào))Go4。1.5 觸發(fā)器的設(shè)計(jì)與實(shí)現(xiàn)觸發(fā)器是用戶定義在關(guān)系表上的一類由事件驅(qū)動(dòng)的特殊過(guò)程。一旦定義,任何用戶對(duì)表的增、刪、改操作均由服務(wù)器自動(dòng)激活相應(yīng)的觸發(fā)器,在DBMS核心層進(jìn)行集中的完整性控制。由于本系統(tǒng)的觸發(fā)器比較多,在這里我只寫出了其中的一部分觸發(fā)器,具體如下所示.1Student 表上的出發(fā)器觸發(fā)器:對(duì)于學(xué)生基本信息表,當(dāng)學(xué)生信息修改時(shí),其它表中若有對(duì)應(yīng)的該信息時(shí),應(yīng)該

39、對(duì)其進(jìn)行修改;當(dāng)學(xué)生信息刪除時(shí),對(duì)應(yīng)的如SC表中的對(duì)應(yīng)學(xué)生成績(jī)信息也應(yīng)該自動(dòng)修改: Supdata:CREATE TRIGGER Supdate ON dbo.Student FOR UPDATE AS update SC set 學(xué)號(hào) = ( select 學(xué)號(hào) from inserted) where SC.學(xué)號(hào)=(select 學(xué)號(hào) from deleted) ; Sdelete:CREATE TRIGGER Sdelete ON dbo。Student FOR DELETE AS DELETE FROM SC WHERE SC.學(xué)號(hào)=(select 學(xué)號(hào) from deleted) ;

40、2. Course表上的觸發(fā)器:其功能是當(dāng)一個(gè)課程的信息改變時(shí),或當(dāng)一個(gè)課程的信息被刪除時(shí),相應(yīng)的在SC和TC表中的相應(yīng)信息修改或刪除. Cupdata:CREATE TRIGGER Cupdate ON dbo。Course FOR UPDATE ASupdate SCset 課程號(hào) = ( select 課程號(hào) from inserted)where SC.課程號(hào)=(select 課程號(hào) from deleted) update TCset TC.課程號(hào) = ( select 課程號(hào) from inserted)where TC。課程號(hào)=(select 課程號(hào) from deleted)

41、; Cdelete:CREATE TRIGGER Cdelete ON dbo.Course FOR DELETE AS DELETE FROM SCwhere SC.課程號(hào)=(select 課程號(hào) from deleted)delete from TCwhere TC.課程號(hào)=(select 課程號(hào) from deleted) 3Department表上的觸發(fā)器:當(dāng)院系的代號(hào)改變時(shí),對(duì)應(yīng)的學(xué)生所在院系、專業(yè)所屬院系以及教師所在院系都應(yīng)當(dāng)做相應(yīng)的更改. Dupdata:CREATE TRIGGER Dupdate ON dbo。Department FOR UPDATE ASupdate St

42、udentsInfoset StudentsInfo.專業(yè)號(hào) = ( select專業(yè)號(hào)from inserted)where StudentsInfo.專業(yè)號(hào)=(select 專業(yè)號(hào) from deleted) update Majorset Major。專業(yè)號(hào) = ( select專業(yè)號(hào)from inserted)where Major。專業(yè)號(hào)=(select 專業(yè)號(hào) from deleted)update Teacherset Teacher.專業(yè)號(hào) = ( select專業(yè)號(hào)from inserted)where Teacher。專業(yè)號(hào)=(select 專業(yè)號(hào) from deleted

43、);4Teacher 表上的觸發(fā)器:當(dāng)教師號(hào)改變或教師離任時(shí),TC表上的信息應(yīng)相應(yīng)的得到改變。 Tupdata:CREATE TRIGGER Tupdate ON dbo.Teacher FOR UPDATE ASupdate TCset TC。教師號(hào) = ( select 教師號(hào) from inserted)where TC.教師號(hào)=(select 教師號(hào) from deleted) ; Sdelete:CREATE TRIGGER Tdelete ON dbo.Teacher FOR DELETE ASDELETE from TCWhere TC.教師號(hào)=(select 教師號(hào) from

44、deleted) ; 5Major表上的觸發(fā)器:當(dāng)專業(yè)編號(hào)發(fā)生改變或?qū)I(yè)取消,對(duì)應(yīng)的學(xué)生表的專業(yè)號(hào)應(yīng)該發(fā)生改變或置為空。 Mupdata:CREATE TRIGGER Mupdate ON dbo.MajorFOR UPDATEASupdate Studentset 專業(yè)號(hào)= ( select 專業(yè)號(hào) from inserted)where 專業(yè)號(hào)=(select 專業(yè)號(hào) from deleted) ; Mdelete:CREATE TRIGGER Mupdate ON dbo。MajorFOR DELETEASupdate StudentsInfoset 專業(yè)號(hào) = NULLwhere 專業(yè)

45、號(hào)=(select 專業(yè)號(hào) from deleted) ;6。觸發(fā)器的試運(yùn)行在對(duì)Student上的SUpdate觸發(fā)器的驗(yàn)證時(shí),先運(yùn)行sql語(yǔ)句: select * from dbo.SC;得到在update操作前的SC表的所有內(nèi)容,如下圖6-2所示,接著執(zhí)行對(duì)Student表的Update操作,即如下語(yǔ)句: update dbo。Student set 學(xué)號(hào)=082002110500' where 學(xué)號(hào)='082002110000'; select from dbo。SC;得到新的SC表,如圖45所示, 學(xué)號(hào)為082002110000的自動(dòng)修改為082002110500。 表44 update執(zhí)行前SC表 表4-5 update執(zhí)行后SC表4.1。6 索引的設(shè)計(jì)與實(shí)現(xiàn)索引是對(duì)數(shù)據(jù)庫(kù)表中一列或多列的值進(jìn)行排序的一種結(jié)構(gòu),索引提供指向存儲(chǔ)在表的指定列中的數(shù)據(jù)值的指針,然后根據(jù)您指定的排序順序?qū)@些指針排序。數(shù)據(jù)庫(kù)使用索引的方式與您使用書籍中的索引的方式很相似:它搜索索引以找到特定值,然后順指針找到包含該值的行.在數(shù)據(jù)庫(kù)關(guān)系圖中,我們可以在選定表的“索引/鍵"屬性頁(yè)中創(chuàng)建、編輯或刪除每個(gè)索引類型。當(dāng)保存索引所附加到的表,或保存該表所在的關(guān)系圖時(shí),索引將保存在數(shù)據(jù)庫(kù)中。例如 學(xué)生表的姓名列.如果要按姓查找特定學(xué)生,與必須搜索表中的

溫馨提示

  • 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)論