版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué)籍管理系統(tǒng)設(shè)計(jì)報(bào)告1 設(shè)計(jì)內(nèi)容與要求1 1 設(shè)計(jì)題目 學(xué)籍管理系統(tǒng)12 設(shè)計(jì)目的與要求該課程設(shè)計(jì)要求設(shè)計(jì)一個(gè)學(xué)籍管理的數(shù)據(jù)庫(kù)系統(tǒng),數(shù)據(jù)庫(kù)中要求包含學(xué)生的根本信 息,學(xué)校所有專(zhuān)業(yè)信息,學(xué)校教師信息以及課程設(shè)置的信息。同時(shí)還要設(shè)計(jì)它們之間的關(guān) 系,如學(xué)生與課程關(guān)系和學(xué)生的成績(jī)等,最后還要對(duì)一些數(shù)據(jù)進(jìn)展查詢(xún),如查詢(xún)學(xué)生成績(jī) 的各種集合等。我們通過(guò)該課程設(shè)計(jì),應(yīng)該到達(dá)的目的是把數(shù)據(jù)庫(kù)理論知識(shí)更加的穩(wěn)固加 深,加強(qiáng)動(dòng)手能力與實(shí)踐能力,學(xué)以致用,與現(xiàn)實(shí)生活中的應(yīng)用充分的結(jié)合起來(lái)。 1 3 設(shè)計(jì)環(huán)境在 Windows 環(huán)境下利用作為數(shù)據(jù)庫(kù)管理系統(tǒng)對(duì)數(shù)據(jù)進(jìn)展管理與維護(hù)。2 需求分析21 系統(tǒng)功能要求設(shè)計(jì)使得
2、學(xué)生的學(xué)籍管理工作更加清晰、條理化、自動(dòng)化。容易地完成學(xué)生信息的查詢(xún)、更新、修改等操作。對(duì)于學(xué)生成績(jī)管理模塊,能更加容易的求得學(xué)生的平均成績(jī)、最高分、最低分等,可以按照學(xué)生的成績(jī)進(jìn)展排序處理等。22 系統(tǒng)模塊設(shè)計(jì)學(xué)籍管理系統(tǒng)大體可以分成四大模塊如下列圖所示, 首先是學(xué)生的根本信息模塊,里面 應(yīng)該包含學(xué)生的各方面的根本信息;再者便是學(xué)生成績(jī)管理模塊, 在該模塊中應(yīng)該包含有對(duì)學(xué)生成績(jī)信息的查詢(xún)和處理,如平均成績(jī)、最好成績(jī)、最差成績(jī)以及不及格學(xué)生的統(tǒng) 計(jì)等功能模塊;再其次還有院系、教師、課程等相關(guān)信息的模塊;最后是系統(tǒng)模塊。f學(xué)生基本信息模塊成績(jī)管理模塊院系、教師、課程模塊系統(tǒng)模塊學(xué)籍管理系統(tǒng)圖2-
3、1系統(tǒng)模塊圖2. 3數(shù)據(jù)字典數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)是數(shù)據(jù)庫(kù)的關(guān)系中不可再分的數(shù)據(jù)單位,下表分別列出了數(shù)據(jù)的名稱(chēng)(即碼)、注釋、數(shù)據(jù)類(lèi)型、長(zhǎng)度、取值X圍和是否是主碼。表2.1數(shù)據(jù)項(xiàng)列表名稱(chēng)注釋數(shù)據(jù)類(lèi)型長(zhǎng)度最小值最大值主要的班級(jí)varchar(16)16FALSE學(xué)號(hào)唯一標(biāo)識(shí)學(xué)生的信息in tegerTRUE院系代號(hào)varchar(5)5FALSE專(zhuān)業(yè)號(hào)varchar(5)5FALSEXXvarchar(6)6FALSE性別varchar(2)2FALSE出生年月datetimeFALSE籍貫varchar(8)8FALSE民族varchar(2)2FALSE家庭住址varchar(20)20FALSE入學(xué)
4、時(shí)間datetimeFALSE政治面貌varchar(6)6FALSEXX號(hào)char(18)18FALSE聯(lián)系varchar(12)12FALSE備注varchar(14)14FALSE】田千口 i=r. 課程號(hào)varchar(5)5TRUE先行課smalli ntFALSE學(xué)分in tegerFALSE備注varchar(16)16FALSE院系代號(hào)varchar(5)5TRUE院系名varchar(10)10FALSE系主任varchar(8)8FALSE備注varchar(16)16FALSE教師號(hào)varchar(5)5TRUE院系代號(hào)varchar(5)5FALSEXXvarchar(
5、6)6FALSE性別char(2)2FALSE年齡in tegerFALSE工齡in tegerFALSE備注varchar(16)16FALSE專(zhuān)業(yè)號(hào)varchar(5)5TRUE院系代號(hào)varchar(5)5FALSE專(zhuān)業(yè)名稱(chēng)varchar(16)16FALSE備注varchar(16)16FALSE學(xué)號(hào)in tegerTRUE】田千口 i=r. 課程號(hào)varchar(5)5TRUE分?jǐn)?shù)floatFALSE】田千口 i=r. 課程號(hào)varchar(5)5TRUE教師號(hào)varchar(5)5TRUE232數(shù)據(jù)構(gòu)造數(shù)據(jù)構(gòu)造是為反映數(shù)據(jù)之間的組合關(guān)系,即一個(gè)數(shù)據(jù)構(gòu)造可以由假設(shè)干個(gè)數(shù)據(jù)項(xiàng)組成,也可
6、以由假設(shè)干個(gè)數(shù)據(jù)構(gòu)造組成,或由假設(shè)干個(gè)數(shù)據(jù)項(xiàng)和數(shù)據(jù)構(gòu)造組成。本學(xué)籍管理系統(tǒng) 的數(shù)據(jù)組成可根據(jù)系統(tǒng)模塊(圖1-1)的劃分來(lái)設(shè)計(jì),即分為四個(gè)數(shù)據(jù)構(gòu)造,分別如下表所示表2.2數(shù)據(jù)構(gòu)造清單數(shù)據(jù)構(gòu)造名含義說(shuō)明組成學(xué)生根本信息學(xué)生根本信息的描述班級(jí)+學(xué)號(hào)+院系代號(hào)+專(zhuān)業(yè)號(hào)+XX+性別+出生年月+籍貫+民族+家庭住址+入學(xué)時(shí)間+政治面貌+XX號(hào)+ 聯(lián)系+備注;成績(jī)管理學(xué)生成績(jī)的管理 與查詢(xún)管理描述學(xué)號(hào)+課程號(hào)+分?jǐn)?shù); 平均分?jǐn)?shù)+最高分+最低分;學(xué)生相關(guān)信息學(xué)校的院系、教師信息 以及課程信息的描述課程號(hào)+課程名+先行課+學(xué)分+備注; 院系代號(hào)+院系名+系主任+備注; 教師號(hào)+院系代號(hào)+XX+性別+年齡+工齡+
7、備注;系統(tǒng)管理對(duì)系統(tǒng)中的所有表的更 新、刪除、修改描述233數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)是數(shù)據(jù)構(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.5數(shù)據(jù)存儲(chǔ)描述數(shù)據(jù)存儲(chǔ)名組成存取頻度存取方式學(xué)生根本信息表學(xué)生根本信息構(gòu)造大順序檢索、更新院系教師及專(zhuān)業(yè)表學(xué)生相關(guān)信息數(shù)據(jù)構(gòu)造小順序檢索、更新學(xué)生成績(jī)表成績(jī)管理構(gòu)造一般順序檢索、更新3概念構(gòu)造設(shè)計(jì)3. 1數(shù)據(jù)抽象與局部視圖設(shè)計(jì)學(xué)生根本信息與課程信息視圖圖3-1學(xué)生根本信息視圖圖3-2課程信息視圖根據(jù)學(xué)生與課程的關(guān)系可設(shè)
8、計(jì)如下關(guān)系圖:'專(zhuān)業(yè)、教師及院系信息視圖圖3-4專(zhuān)業(yè)、教師及院系信息視圖院系、教師以及專(zhuān)業(yè)的關(guān)系圖如下:3. 2系統(tǒng)數(shù)據(jù)流圖系統(tǒng)的管理模塊里面包含教務(wù)部門(mén)(系統(tǒng)管理員和教務(wù)處管理人員)、教師以及學(xué)生,下列 圖為該學(xué)籍管理系統(tǒng)的系統(tǒng)流圖,教務(wù)部門(mén)擁有對(duì)所有表的查詢(xún)更新與刪除權(quán)利(分類(lèi)信息 屬于查詢(xún)結(jié)果除外);教師可對(duì)教師、專(zhuān)業(yè)以及院系信息,分類(lèi)信息,學(xué)生情況進(jìn)展查詢(xún), 對(duì)成績(jī)單進(jìn)展查詢(xún)、更新以及刪除等所有操作;學(xué)生只可對(duì)所有模塊信息進(jìn)展查詢(xún),同時(shí) 可對(duì)自己的局部學(xué)生情況進(jìn)展一定的修改與更新。查詢(xún)更新刪除學(xué)生基本信息成績(jī)單生成學(xué)生情況分類(lèi)信息查詢(xún)分類(lèi)信息提交查詢(xún)分類(lèi)信息查詢(xún) 成績(jī)教師、專(zhuān)業(yè)
9、 院系信息教務(wù)部門(mén)更新查詢(xún)刪除學(xué)生信息更新查詢(xún)刪除 學(xué)生信息更改 更新 部分 信息1教師查詢(xún)信息查詢(xún)學(xué)生情況查詢(xún)分類(lèi)信息學(xué)生查詢(xún)專(zhuān)業(yè)、院系、教師與成績(jī)信息圖3-6系統(tǒng)數(shù)據(jù)流圖3. 3合并局部視圖生成E-R圖E-R圖如合并數(shù)據(jù)抽象與局部視圖設(shè)計(jì)中的各個(gè)局部視圖以及各個(gè)實(shí)體之間的關(guān)系生成下:備注課程號(hào)課程名學(xué)分ni備注聯(lián)系電話(huà)巾專(zhuān)業(yè)號(hào)專(zhuān)業(yè)名備注備注mm1im從屬11I1院系代號(hào)院系名備注教師號(hào)工齡姓名學(xué)號(hào)班級(jí)系主任學(xué)生課程教師圖3-7系統(tǒng)E-R圖3. 4概念模型設(shè)計(jì)在生成了系統(tǒng)E-R圖后,可根據(jù)E-R圖中實(shí)體的各個(gè)屬性組成以及實(shí)體與實(shí)體之間的關(guān)系用PowerDesigner設(shè)計(jì)概念模型。最后生成概
10、念模型如下列圖所示:學(xué)生基本信息班級(jí)VA16學(xué)號(hào)<pi>LI姓名VA6性別VA2出生年月DT籍貫VA8民族VA2家庭住址VA20入學(xué)時(shí)間DT政治面貌VA6身份證號(hào)A18聯(lián)系電話(huà)VA12備注VA14<pi>Identifier/院系學(xué)生<M>必修選擇院系一教師Identifier/專(zhuān)業(yè)專(zhuān)業(yè)號(hào) 專(zhuān)業(yè)名稱(chēng) 備注<pi> VA5VA16VA16<M>Ide ntifier_1<pi>課程課程號(hào) 課程名 先行課 學(xué)分 備注<pi>VA5<M>VA10SIVA16<pi>教授院系院系代號(hào) 院系名 系
11、主任 備注<pi> VA5VA10VA8VA16<M>Ide ntifier_1<pi>教師教師號(hào)<pi>VA5<M>姓名VA6性別A2年齡I工齡I備注VA16Ide ntifier_1<pi>1圖3-8系統(tǒng)概念模型設(shè)計(jì)圖4邏輯構(gòu)造設(shè)計(jì)4. 1概念模型向物理模型的轉(zhuǎn)換在概念模型設(shè)計(jì)好了之后,可直接在powerdesigner中將設(shè)計(jì)好了的概念模型轉(zhuǎn)換成物理模 型。其具體操作過(guò)程為點(diǎn)擊主菜單的Tools GeneratePhysical Data Model便可以將當(dāng)前的概念模型轉(zhuǎn)換為物理模型,轉(zhuǎn)換后的物理模型如下列圖所示:
12、圖4-1物理模型圖因?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)換中院系與專(zhuān)業(yè)合并到學(xué)生根本信息關(guān)系中,院系與 專(zhuān)業(yè)的主碼成為學(xué)生信息的外碼,同樣院系的主碼成為教師的外碼。學(xué)生與課程、教師與課程均是多對(duì)多的關(guān)系所以,單獨(dú)的生成了必修與教授兩個(gè)關(guān)系4. 2數(shù)據(jù)庫(kù)物理模型設(shè)計(jì)在PowerDes
13、igne中將概念模型轉(zhuǎn)換成物理模型之后,我們可以對(duì)物理模型進(jìn)展設(shè)計(jì),雙擊物理模型的關(guān)系,便彈出對(duì)其設(shè)置的對(duì)話(huà)框,在Ge neral選項(xiàng)卡中可以對(duì)該關(guān)系的名稱(chēng)、注釋以及碼等信息進(jìn)展設(shè)置。在 Colum ns選項(xiàng)卡中可對(duì)該關(guān)系的屬性列進(jìn)展設(shè)計(jì),可 分別設(shè)置其名稱(chēng)、碼、數(shù)據(jù)類(lèi)型以及主碼、是否為空等。下列圖顯示了課程與院系兩個(gè)關(guān)系的物理設(shè)計(jì)其中課程號(hào)與院系代號(hào)分別為兩個(gè)關(guān)系的住碼:圖na30 i ® x典鄉(xiāng)匸Cah口二己幻X麻亀X M筋直(Jane程程一仃計(jì)注ZV廠vircMIC)rrtnakrlrrhir一rLLDate ->pe|I希-I陸系代粵3U主任姦主任n備注備注CodeMD
14、ata TvpevorchorlS) p 廠戸r vatcharflO)廠廠廠: va«har|8)廠廠廣: varcharflG)廠廠廠圖4-2課程與院系的物理設(shè)計(jì)下列圖是教師與專(zhuān)業(yè)兩個(gè)關(guān)系的物理設(shè)計(jì),起中教師號(hào)與專(zhuān)業(yè)號(hào)分別為主碼,因?yàn)榻處熍c 專(zhuān)業(yè)均附屬于院系,所以院系代號(hào)分別是兩個(gè)關(guān)系的外碼:霑口 口冃¥1站酸臨X風(fēng)可工21vrcnar vrcnar 16:ir< int工齡rcnar 5)ti帀呂備注¥Nqrid I Codo'ahT .p< P : M姓名Name黴業(yè)號(hào)I卷業(yè)名稱(chēng) 院累我呂二|宙空號(hào)苓業(yè)宅稱(chēng)琮黑代呂varchcip) v
15、aichar(16 varDha(5 varchafll*廠廠廠廠 -rr-rr F廠廠廠廠圖4-3教師與專(zhuān)業(yè)的物理設(shè)計(jì)SC與TC關(guān)系分別是學(xué)生根本信息與課程,教師與課程兩個(gè)多對(duì)多聯(lián)系合并生成的關(guān)系。SC關(guān)系描述了學(xué)生選擇什么課程以及該課程的分?jǐn)?shù), 其中來(lái)自?xún)蓚€(gè)關(guān)系的主碼組成該關(guān)系的主碼同時(shí)也是外碼; TC關(guān)系是教師與課程的聯(lián)系,其描述了每個(gè)教師所教授的課程關(guān)系。圖4-4 SC與TC物理設(shè)計(jì)下面是學(xué)生根本信息的物理模型設(shè)計(jì),學(xué)號(hào)作為主碼,因?yàn)閷W(xué)生根本信息與專(zhuān)業(yè)、 院系的對(duì)應(yīng)關(guān)系均是n:1的聯(lián)系,所以院系代號(hào)與專(zhuān)業(yè)號(hào)作為學(xué)生根本信息關(guān)系的外 碼。缶生年月1112131415糜區(qū)性址 人學(xué)時(shí)同 政
16、治面貌 身份證號(hào)聯(lián)系電話(huà)od月 址間貌呂-號(hào)話(huà) C -“年二性吋面證-代尋電 銀昌刖生畫(huà)族庭學(xué)活份名系業(yè)系注 班學(xué)性岀藕民涼入政身姓院專(zhuān)碰備Data TypeP'Fvarchai(16)廠廠varchai(2)r廠datelinner rvarctiai(8rvarchai(2 !varchai(2Ordatetimervardiai(6)rchar(18Jvarchai(6varcbiaf(5varcliai5JYarchai(12varctiQi(14)圖4-5學(xué)生根本信息物理設(shè)計(jì)5物理構(gòu)造設(shè)計(jì)與功能實(shí)現(xiàn)5. 1系統(tǒng)的物理構(gòu)造設(shè)計(jì)確定關(guān)系模型的存取方法在實(shí)際設(shè)計(jì)中最常用的存取方法是
17、索引發(fā),使用索引可以大大減少數(shù)據(jù)的查詢(xún)時(shí)間,在建立索引時(shí)應(yīng)遵循:在經(jīng)常需要搜索的列上建立索引;在主關(guān)鍵字上建立索引;在經(jīng)常用于連接的列上建立索引,即在外鍵上建立索引;在經(jīng)常需要根據(jù)X圍進(jìn)展搜索的列上創(chuàng)立索引,因?yàn)樗饕呀?jīng)排序,其指定的 X圍是連續(xù)的等規(guī)那么。才能充分利用索引的作 用防止因索引引起的負(fù)面作用。5.1.2 確定數(shù)據(jù)庫(kù)的存儲(chǔ)構(gòu)造確定數(shù)據(jù)庫(kù)的存儲(chǔ)構(gòu)造主要指確定數(shù)據(jù)的存放位置和存儲(chǔ)構(gòu)造, 包括確定關(guān)系、 索引、 日志、備份等的存儲(chǔ)安排及存儲(chǔ)構(gòu)造,以及確定系統(tǒng)存儲(chǔ)參數(shù)的配置。因?yàn)樵搶W(xué)籍管理系 統(tǒng)的數(shù)據(jù)量小,而且只作實(shí)驗(yàn)之用,所以我們只用把數(shù)據(jù)存儲(chǔ)在使用的電腦硬盤(pán)上,不用 作更多的安排。52
18、 數(shù)據(jù)庫(kù)的實(shí)施與數(shù)據(jù)載入數(shù)據(jù)庫(kù)的實(shí)施首先在數(shù)據(jù)庫(kù)中建立一個(gè)學(xué)生數(shù)據(jù)庫(kù),然后新建一個(gè)數(shù)據(jù)源,在porwerDesigner 中先建立連接 Database >Connect ,然后在彈出的對(duì)話(huà)框中選擇數(shù)據(jù)源,填好數(shù)據(jù)庫(kù)的用戶(hù)名和 密碼(在本連接中用戶(hù)名為sa密碼為空),然后連接,最后檢測(cè)數(shù)據(jù)是否連接正確。在數(shù)據(jù) 庫(kù)連接好了之后點(diǎn)擊 Databas > Gen erate Database!將彈出的對(duì)話(huà)框的 Gen eration單項(xiàng)選 擇按扭選擇為 ODBC Gen eration然后選擇確定便可執(zhí)行數(shù)據(jù)庫(kù)的實(shí)施,生成的主要代碼如 下:/*=*/* DBMS name:Microso
19、ft SQL Server 2000*/* Created on: 2006-1-3 10:56:43*/*=*/ 創(chuàng)立課程表 create table Course (】甲壬口 口.課程號(hào)varchar(5)not null,課程名varchar(10)null,先行課smallintnull,學(xué)分intnull,備注varchar(16)null,constraint PK_COURSE primary key (課程號(hào) )go execute sp_addextendedproperty 'MS_Description','學(xué)校所有課程描述 ', '
20、;user', '', 'table', 'Course' go 創(chuàng)立院系表 create table Department (院系代號(hào)varchar(5) not null,院系名varchar(10)null,系主任 varchar(8) null, 備注 varchar(16) null, constraint PK_DEPARTMENT primary key ( 院系代號(hào) ) go execute sp_addextendedproperty 'MS_Description','學(xué)校所有的院系信息描述 &
21、#39;,'user', '', 'table', 'Department'go 創(chuàng)立專(zhuān)業(yè)表 create table Major (專(zhuān)業(yè)號(hào)varchar(5)not null,院系代號(hào)varchar(5)null,專(zhuān)業(yè)名稱(chēng)varchar(16)null,備注varchar(16)null,constraint PK_MAJOR primary key (專(zhuān)業(yè)號(hào) ) go execute sp_addextendedproperty 'MS_Description','學(xué)校所有專(zhuān)業(yè)信息描述 ',
22、39;user', '', 'table', 'Major'go 在專(zhuān)業(yè)表上創(chuàng)立索引 create index DM_FK on Major ( 院系代號(hào) ASC) go 創(chuàng)立學(xué)生與課程的成績(jī)表 create table SC (學(xué)號(hào) bigint not null, 課程號(hào) varchar(5)not null,constraint PK_SC primary key (學(xué)號(hào) , 課程號(hào) ) go 在 SC 表上創(chuàng)立索引 SC_FK 與 SC2_FK create index SC_FK on SC ( 學(xué)號(hào) ASC)Go create
23、 index SC2_FK on SC (課程號(hào) ASC)go 創(chuàng)立學(xué)生根本信息表 create table StudentsInfo (班級(jí)學(xué)號(hào)院系代號(hào)專(zhuān)業(yè)號(hào)XX 性別 出生年月 籍貫 民族 家庭住址 入學(xué)時(shí)間 政治面貌XX 號(hào) 聯(lián)系 備注varchar(16) bigint varchar(5) varchar(5) varchar(6) varchar(2) datetimevarchar(8) varchar(2) varchar(20) datetime varchar(6) char(18) varchar(12)varchar(14)constraint PK_STUDENTSI
24、NFO primary keynull,not null, null, null, null, null, null, null, null, null, null, null, null, null, null, (學(xué)號(hào))goexecute sp_addextendedproperty 'MS_Description', '學(xué)生根本信息描述 ','user', '', 'table', 'StudentsInfo' go 創(chuàng)立院系代號(hào)索引 create index SD_FK on Student
25、sInfo ( 院系代號(hào) ASC)go 創(chuàng)立專(zhuān)業(yè)號(hào)索引 create index SM_FK on StudentsInfo ( 專(zhuān)業(yè)號(hào) ASC)go 創(chuàng)立教師與課程關(guān)系表 create table TC (not null, not null,課程號(hào)varchar(5)教師號(hào)varchar(5)constraint PK_TC primary key (課程號(hào) , 教師號(hào) )go 建立課程號(hào)索引 create index TC_FK on TC (課程號(hào) ASC go 建立教師號(hào)索引 create index TC2_FK on TC (教師號(hào) ASC go 創(chuàng)立教師表 varchar(5)
26、varchar(5) varchar(6) char(2) int int varchar(16)not null, null, null, null, null, null, null,create table Teacher ( 教師號(hào) 院系代號(hào) XX 性別 年齡 工齡 備注constraint PK_TEACHER primary key (教師號(hào) ) go execute sp_addextendedproperty 'MS_Description','學(xué)校教師信息描述 ','user', '', 'table
27、39;, 'Teacher'go 建立 TD_FK 索引 create index TD_FK on Teacher ( 院系代號(hào) ASC)goalter table Majoradd constraint FK_MAJOR_DM_DEPARTME foreign key ( 院系代號(hào) ) references Department (院系代號(hào) )goalter table SCadd constraint FK_SC_SC_STUDENTS foreign key ( 學(xué)號(hào) ) references StudentsInfo (學(xué)號(hào) )goalter table SCadd
28、constraint FK_SC_SC2_COURSE foreign key (課程號(hào) )references Course 課( 程號(hào) )goalter table StudentsInfoadd constraint FK_STUDENTS_SD_DEPARTME foreign key ( 院系代號(hào) )references Department (院系代號(hào) )goalter table StudentsInfoadd constraint FK_STUDENTS_SM_MAJOR foreign key ( 專(zhuān)業(yè)號(hào) )references Major (專(zhuān)業(yè)號(hào) )goalter tab
29、le TCadd constraint FK_TC_TC_COURSE foreign key ( 課程號(hào) )references Course 課( 程號(hào) )goalter table TCadd constraint FK_TC_TC2_TEACHER foreign key ( 教師號(hào) )references Teacher 教( 師號(hào) )goalter table Teacheradd constraint FK_TEACHER_TD_DEPARTME foreign key ( 院系代號(hào) )references Department (院系代號(hào) )go數(shù)據(jù)庫(kù)中表的設(shè)計(jì)當(dāng)上面的代碼運(yùn)行
30、成功后后,在數(shù)據(jù)庫(kù)的Student中便會(huì)生成相應(yīng)的表,包括學(xué)生根本 信息表、課程表、教師,專(zhuān)業(yè)和學(xué)院表、以及 SC和TC表。數(shù)據(jù)庫(kù)中生成表后,可以對(duì)其 進(jìn)展設(shè)計(jì),如下列圖便是數(shù)據(jù)庫(kù)中的學(xué)生根本信息表,我們可以對(duì)其每一列以及其數(shù)據(jù)類(lèi) 型、取值 X 圍和是否是主碼是否可以為空等信息進(jìn)展設(shè)置后或修改。例如下列圖,該表的 初始狀態(tài)只有學(xué)號(hào)不允許為空,但是這是很不符合實(shí)際情況的,在實(shí)際中我們往往還需要 確定學(xué)生的班級(jí)、 XX 、入學(xué)時(shí)間所在院系與所屬專(zhuān)業(yè)等情況, 要求把這些信息也設(shè)置為不 為空。和名數(shù)據(jù)類(lèi)型|亙一1允許空i月年 紐號(hào)名別生貫 班學(xué)姓悝出as址間觀號(hào)號(hào)話(huà)住時(shí)適代號(hào)證電襪O學(xué)箱系業(yè)惜嘉莊民家
31、入政瞬昔身匿番v archil-ISi nt4v ar shir622ditetirrift8var char6>/研am uh蟲(chóng)r2vai'char20m ee6tzYr5varctiar5Lt 呂""| fuh:ur1812>zvar char147圖5-1對(duì)數(shù)據(jù)庫(kù)中學(xué)生根本信息表的設(shè)計(jì)數(shù)據(jù)的載入數(shù)據(jù)的載入是一個(gè)非常繁雜和重要的過(guò)程需要很大的工作量,可分為人工輸入與其它格 式數(shù)據(jù)文件導(dǎo)入。該系統(tǒng)只是一個(gè)簡(jiǎn)單的實(shí)驗(yàn)系統(tǒng),所以采用手工輸入少量的數(shù)據(jù)可滿(mǎn)足 實(shí)驗(yàn)要求即可。下面兩個(gè)表分別顯示了學(xué)生根本信息的錄入與課程信息的錄入。表5.1學(xué)生根本信息的錄入?yún)[回
32、岡WI竟殛匯厠1出生耳月藉貫丨聲I寒巨性1L?* 041021計(jì)餐極06計(jì)陋用圧ziusbmuj20055110272005541DC1陽(yáng)山四-送S<jnn><JVLL><mn>侖丟"Sturlfn+sTrrfo"屮的越據(jù).應(yīng)養(yǎng)是-j+nrient"中、wl廠 ±表5.2課程信息的錄入%表=6仆加"中拊數(shù)據(jù)*住詈是-sfriidpnf 中* 11門(mén)葉和嚴(yán) 上洛汪12 3 4 -U u u o o u U(NVLL>SELL>414張老帥基姑團(tuán)呈郭老帥基詣?wù)n程月瞇弭專(zhuān)業(yè)課程土龍畀眷IEU5. 3觸發(fā)
33、器與存儲(chǔ)過(guò)程設(shè)計(jì)觸發(fā)器設(shè)計(jì)1. Studentlnfo表上的出發(fā)器觸發(fā)器:對(duì)于學(xué)生根本信息表,當(dāng)學(xué)生信息修改時(shí),其它表SC表中的中假設(shè)有對(duì)應(yīng)的該信息時(shí),應(yīng)該對(duì)其進(jìn)展修改;當(dāng)學(xué)生信息刪除時(shí),對(duì)應(yīng)的如 對(duì)應(yīng)學(xué)生成績(jī)信息也應(yīng)該自動(dòng)修改: Supdata:CREATE TRIGGERSupdate ONdbo.Stude ntsl nfoFOR UPDATEASupdate SCset 學(xué)號(hào) =(select 學(xué)號(hào) from inserted)where SC學(xué)號(hào)=(select 學(xué)號(hào) from deleted); Sdelete:CREATETRIGGERdbo.Stude ntsl nfoFOR
34、DELETEASDELETEFROM SCSdeleteONWHERE SC學(xué)號(hào)=(select 學(xué)號(hào) from deleted)2. Course表上的觸發(fā)器:其功能是當(dāng)一個(gè)課程的信息改變時(shí),或當(dāng)一個(gè)課程的信息被刪除 時(shí),相應(yīng)的在SC和TC表中的相應(yīng)信息修改或刪除。 Cupdata:CREATE TRIGGER Cupdate ON dbo.CourseFOR UPDATEASupdate SCset 課程號(hào) =(select 課程號(hào) from inserted)where SC課程號(hào)=(select 課程號(hào) from deleted) update TCsetTC.課程號(hào) =(select
35、 課程號(hào) from inserted)where TC.課程號(hào)=(select 課程號(hào) from deleted); Cdelete:CREATE TRIGGER Cdelete ON dbo.CourseFOR DELETEASDELETEFROM SCWHERE SC課程號(hào)=(select 課程號(hào) from deleted)DELETEFROM TCWHERE TC.課程號(hào)=(select 課程號(hào) from deleted);J3 Department 表上的觸發(fā)器:當(dāng)院系的代號(hào)改變時(shí),對(duì)應(yīng)的學(xué)生所在院系、專(zhuān)業(yè)所屬院 系以及教師所在院系都應(yīng)當(dāng)做相應(yīng)的更改。 Dupdata:CREATETR
36、IGGER DupdateON dbo . DepartmentFORUPDATEASupdateSsetS 專(zhuān)業(yè)號(hào)=(selec專(zhuān)業(yè)號(hào) from inserted)whereS.專(zhuān)業(yè)號(hào)=(selec專(zhuān)業(yè)號(hào) from deleted)updateMajorsetMajor.專(zhuān)業(yè)號(hào)=(selec專(zhuān)業(yè)號(hào) from inserted)whereMajor .專(zhuān)業(yè)號(hào)=(select專(zhuān)業(yè)號(hào) from deleted) updateTeachersetTeacher.院系代號(hào) =(select院系代號(hào) from inserted)whereTeacher.院系代號(hào) =(select院系代號(hào) from de
37、leted);4Teacher 表上的觸發(fā)器:當(dāng)教師號(hào)改變或教師離任時(shí), TC 表上的信息應(yīng)相應(yīng)的得到改 變。 Tupdata:CREATE TRIGGER Tupdate ON dbo.TeacherFOR UPDATEASupdate TCsetTC. 教師號(hào) = ( select 教師號(hào) from inserted)where TC. 教師號(hào) =(select 教師號(hào) from deleted) ; Sdelete:CREATE TRIGGER Tdelete ON dbo.TeacherFOR DELETEASDELETEFROM TCWHERE TC.教師號(hào)=(select 教師號(hào)
38、from deleted);5Major 表上的觸發(fā)器:當(dāng)專(zhuān)業(yè)編號(hào)發(fā)生改變或?qū)I(yè)取消,對(duì)應(yīng)的學(xué)生表的專(zhuān)業(yè)號(hào)應(yīng)該發(fā)生改變或置為空值。 Mupdata:CREATE TRIGGER Mupdate ON dbo.MajorFOR UPDATEASupdate StudentsInfo set 專(zhuān)業(yè)號(hào) = ( select 專(zhuān)業(yè)號(hào) from inserted) where 專(zhuān)業(yè)號(hào) =(select 專(zhuān)業(yè)號(hào) from deleted) ; Mdelete:CREATE TRIGGER Mupdate1 ON dbo.MajorFOR DELETEASupdate StudentsInfoset 專(zhuān)業(yè)號(hào)
39、 = NULL where 專(zhuān)業(yè)號(hào) =(select 專(zhuān)業(yè)號(hào) from deleted) ;5.3.2 存儲(chǔ)過(guò)程設(shè)計(jì)下面是局部存儲(chǔ)過(guò)程的描述,包括插入數(shù)據(jù)、更新數(shù)據(jù)與查詢(xún)數(shù)據(jù)。1.插入學(xué)生根本信息的存儲(chǔ)過(guò)程:CREATE PROCEDURE TnsertStudentsInfo班級(jí) varchar(16)學(xué)號(hào) int(4), XX varchar(6),性別 varchar(2), 出生年月 datatime(8), 籍貫 varchar(8),民族 varchar(2), 家庭住址 varchar(20), 入學(xué)時(shí)間 datatime(8),政治面貌 varchar(6), 院系代號(hào) var
40、char(5), 專(zhuān)業(yè)號(hào) varchar(5), XX 號(hào) char(18), varchar(12), 備注 varchar(14),asinsert into Studentslnfo(班級(jí),學(xué)號(hào),XX,性別,出生年月 籍貫,民族傢庭住址,入學(xué)時(shí)間, 政治面貌 ,院系代號(hào) ,專(zhuān)業(yè)號(hào) ,XX 號(hào),備注 )values班級(jí),學(xué)號(hào),XX,性別,出生年月,籍貫,民族,家庭住址 入學(xué)時(shí)間, 政治面貌 ,院系代號(hào) ,專(zhuān)業(yè)號(hào) ,XX 號(hào),備注 )GO2 Update 學(xué)生成績(jī)信息的存儲(chǔ)過(guò)程:CREATE PROCEDURE UpdateSC學(xué)號(hào) int(4),課程號(hào) varchar(5),分?jǐn)?shù) floa
41、t,ASupdate SCset 分?jǐn)?shù) = 分?jǐn)?shù)where 學(xué)號(hào)=學(xué)號(hào) and 課程號(hào) =課程號(hào)GO3. 對(duì)不有不及格科目的所有學(xué)生的信息查詢(xún)的存儲(chǔ)過(guò)程CREATE PROCEDURE selectstuendt_1ASSELECT StudentsInfo. 學(xué)號(hào), XX ,班級(jí),課程名,分?jǐn)?shù)FROM StudentsInfo, SC , CourseWhere 分?jǐn)?shù) in(O, 60) And Studentslnfo.學(xué)號(hào)=SC.學(xué)號(hào) And SC.課程號(hào)=Course.課程號(hào)GO54 數(shù)據(jù)庫(kù)的試運(yùn)行觸發(fā)器功能的試運(yùn)行在對(duì)Studentslnfo上的SUpdate觸發(fā)器的驗(yàn)證時(shí),先運(yùn)行 sql語(yǔ)句:select *from dbo.SC;得到在update操作前的SC表的所有內(nèi)容,如下列圖6-2所示,接著執(zhí)行對(duì)Studentslnfo表 的Update操作,即如下語(yǔ)句:update dbo.Studentslnfoset 學(xué)號(hào) ='2005541007'where 學(xué)號(hào) ='2005541023'select * from dbo.SC;得到新的SC表,如圖6-3所示,學(xué)號(hào)為2005541023勺自動(dòng)修改為2005541007圖5-2 update執(zhí)行前SC表圖5-
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024秋八年級(jí)英語(yǔ)上冊(cè) Unit 10 If you go to the party you'll have a great time Section B (2a-2e)教案(新版)人教新目標(biāo)版
- 2023七年級(jí)歷史下冊(cè) 第二單元 遼宋夏金元時(shí)期:民族關(guān)系發(fā)展和社會(huì)變化第8課 金與南宋的對(duì)峙說(shuō)課稿 新人教版
- 喜達(dá)屋酒店內(nèi)部員工管理制度
- 高考地理一輪復(fù)習(xí)第一章地球與地圖第一節(jié)經(jīng)緯網(wǎng)和地圖課件
- 自營(yíng)業(yè)務(wù)外包合同(2篇)
- 腦卒中相關(guān)課件
- 布紋個(gè)性簡(jiǎn)歷幻燈片模板
- 西京學(xué)院《應(yīng)用統(tǒng)計(jì)學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《家具設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《發(fā)電廠電氣系統(tǒng)》2022-2023學(xué)年期末試卷
- Tekla建??旖萱I
- 大航海時(shí)代四特產(chǎn)分布
- 鉆孔灌注樁驗(yàn)孔記錄表
- 法語(yǔ)書(shū)信格式(正式版)
- 偏差管理控制程序
- 供應(yīng)商現(xiàn)場(chǎng)審核評(píng)分表(詳細(xì))
- 客戶(hù)信息登記表
- 二手車(chē)復(fù)習(xí)題終極版本
- 畢業(yè)設(shè)計(jì)說(shuō)明書(shū)螺旋精確稱(chēng)重給料機(jī)設(shè)計(jì)
- 十大危險(xiǎn)作業(yè)
- 組織文化研究文獻(xiàn)綜述
評(píng)論
0/150
提交評(píng)論