版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)設(shè)計(jì)報(bào)告題 目:學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫學(xué)號:2014221119200100學(xué)生姓名:張坤學(xué)號:2014221119200138學(xué)生姓名:張豪學(xué)號:2014221119200057學(xué)生姓名:王潛指導(dǎo)教師:王雷春提交時(shí)間:2016/12/24目錄1 章需求分析 11.1 需求調(diào)查 11.2 系統(tǒng)功能分析 21.3 面對用戶需求分析 32 章數(shù)據(jù)庫概念模型設(shè)計(jì) 43 章邏輯結(jié)構(gòu)設(shè)計(jì) 43.1 類和對象向關(guān)系模式轉(zhuǎn)換 113.2 關(guān)系模式優(yōu)化 154 章數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì) 184.1 存取方法設(shè)計(jì) 184.2 存儲結(jié)構(gòu)設(shè)計(jì) 184.3 物理設(shè)計(jì) 185 章數(shù)據(jù)庫完整性設(shè)計(jì) 2
2、25.1 主鍵及唯一性索引 225.2 參照完整性設(shè)計(jì) 225.3 Check約束 225.4 Default約束 235.5 觸發(fā)器設(shè)計(jì) 246 章數(shù)據(jù)庫視圖設(shè)計(jì) 257 章數(shù)據(jù)庫存儲過程設(shè)計(jì) 318 章權(quán)限設(shè)計(jì) 36總結(jié) 37參考文獻(xiàn): 37教務(wù)管理系統(tǒng)后臺數(shù)據(jù)庫第1章需求分析1.1 需求調(diào)查通過對各個(gè)用戶的調(diào)查,該學(xué)生成績管理系統(tǒng)有如下需求:1)系統(tǒng)管理:實(shí)現(xiàn)系統(tǒng)管理人員對系統(tǒng)的管理,包括添加刪除用戶,更改密碼,數(shù)據(jù)備份,數(shù)據(jù)還原,注銷,系統(tǒng)開關(guān)等功能。2)成績管理:實(shí)現(xiàn)教師對學(xué)生選修課程打分,成績審核,學(xué)生查看成績。3)信息維護(hù):學(xué)生,管理員和老師以及課程的基本信息(包括學(xué)生學(xué)籍信息和
3、學(xué)生所修 課程信息,教師基本信息,課程基本信息,密碼基本信息)查看以及修改。4)選課:學(xué)生選擇課程,老師選課。5)查詢:包括實(shí)現(xiàn)學(xué)生查詢,老師查詢。學(xué)生查詢包括自己的基本信息,自己的課程, 課表,成績等,老師查詢包括查詢自己的信息,自己所帶課程的學(xué)生,自己的課表以 及學(xué)生成績等。6)服務(wù)器配置:對它進(jìn)行配置可以使得在其他電腦上也照常使用。這樣不必每次都到數(shù)據(jù)庫中去更改。7)幫助系統(tǒng):幫助系統(tǒng)為用戶指明方向。1.2系統(tǒng)功能分析學(xué)生成績管理系統(tǒng)1)系統(tǒng)管理:主要用于系統(tǒng)開關(guān),教師選課開關(guān),學(xué)生選課開關(guān)等。2)學(xué)籍管理:用于對學(xué)生學(xué)籍基本信息的錄入、查詢、修改、維護(hù)、刪除等常用功能, 并提供學(xué)號編排
4、、學(xué)生照片輸入顯示、學(xué)籍變動(留級、休學(xué)、跳級、轉(zhuǎn)班、轉(zhuǎn)學(xué)、 退學(xué)等)、獎懲登記、畢業(yè)情況等功能。3)選課管理:用于對課程的排布和選擇。對于選課課程、采用教師選課方式,教師先選 課,學(xué)生再選課。4)教師管理:用于管理教師的基本信息,其所在院系、所授課程,所帶的班級,教師平 時(shí)上課的時(shí)數(shù),并記錄教師的考評情況。5)成績管理:用于發(fā)布學(xué)生一個(gè)學(xué)期所修課程所獲得的成績,是否掛科、參加補(bǔ)考,補(bǔ) 考的成績等。6)課程管理:用于管理課程的基本信息,包括添加,刪除,修改課程。7)管理員管理:用于對管理員的權(quán)限進(jìn)行修改,以及添加,刪除管理員,更新管理員信 息等。8)數(shù)據(jù)備份:用于保存刪除或更新之前的數(shù)據(jù),防止
5、管理員誤操作,以及數(shù)據(jù)找回等。9)即時(shí)事務(wù)管理:用于發(fā)布和管理學(xué)校及學(xué)院的相關(guān)通知,便于相關(guān)人員了解學(xué)校及學(xué)院的近期動態(tài)。1.3面對用尸需求分析在學(xué)生選課系統(tǒng)中,最主要的功能就是進(jìn)行一系列的查詢和各類數(shù)據(jù)的管理。因此,可以將學(xué)生選課系統(tǒng)分為管理系統(tǒng)(有數(shù)據(jù)變化)和查詢系統(tǒng)兩個(gè)子系統(tǒng)。而在所設(shè)計(jì)的學(xué)生選課系統(tǒng)中,主要有四類用戶,即學(xué)生用戶,老師用戶,教務(wù)管理員和系統(tǒng)管理員。各類用戶在該系統(tǒng)中的需求不同,權(quán)限也不同。因此,為了更明確,更系統(tǒng)的了解用戶需求,我們還可以將管理系統(tǒng)再細(xì)分為學(xué)生管理系統(tǒng),老師管理系統(tǒng),教務(wù)管理員管理系統(tǒng),系統(tǒng)管理員管理系統(tǒng)。同樣,將查詢系統(tǒng)也按用戶職能進(jìn)行細(xì)分,即學(xué)生查詢
6、系統(tǒng),老師 查詢系統(tǒng),教務(wù)管理員查詢系統(tǒng),系統(tǒng)管理員查詢系統(tǒng)。這樣細(xì)分后,看似把系統(tǒng)需求繁 雜化了。其實(shí)不然,細(xì)分后使各用戶需求更加明確了,并且能更好的把握系統(tǒng)需求。下面從細(xì)分后的各個(gè)子系統(tǒng)分析子系統(tǒng)的需求:教務(wù)管理系統(tǒng)1) 學(xué)生管理系統(tǒng)。學(xué)生用戶在使用該系統(tǒng)時(shí),首先必須通過賬號和密碼登錄系統(tǒng)。因此,對密碼的設(shè)置和修改是最基本的需求。由于所有用戶在使用該系統(tǒng)時(shí)都需要賬號和密碼,所以在后面的用戶需求分析時(shí)不再重復(fù)對此需求進(jìn)行描述。在登錄系統(tǒng)后, 學(xué)生用戶的最主要的需求就是通過該系統(tǒng)進(jìn)行選課、退課。其次,學(xué)生用戶還要求可以通過系統(tǒng)進(jìn)行個(gè)人信息的維護(hù)(包括添加、刪除、修改信息)以及學(xué)生評教和各類 報(bào)
7、名。2) 學(xué)生查詢系統(tǒng)。學(xué)生用戶在該系統(tǒng)中是最低級的用戶,所以可以查詢的數(shù)據(jù)也是有限的,主要有個(gè)人信息查詢,成績查詢(個(gè)人成績),即時(shí)事物查看,學(xué)業(yè)預(yù)警查看。在進(jìn)行選課的時(shí)候還要對課程信息進(jìn)行查詢,課程選完后要查詢課表。3) 老師管理系統(tǒng)。該系統(tǒng)中,老師用戶當(dāng)然也有維護(hù)個(gè)人信息的需求。除此之外,更重要的一個(gè)需求是要進(jìn)行學(xué)生成績的錄入。4) 老師查詢系統(tǒng)。老師用戶不僅要有查詢自己的個(gè)人信息的功能,還要有查詢學(xué)生信息的功能。當(dāng)學(xué)生用戶進(jìn)行選課完畢后,老師用戶有對選課、任課信息、課表的查詢以及花名冊的查看的需求。 當(dāng)課程結(jié)束后, 老師在錄入學(xué)生成績的時(shí)候, 也要對課程信息、 學(xué)生信息進(jìn)行查詢。 老師
8、用戶的另一個(gè)需求是對學(xué)生成績的查詢, 這個(gè)成績查詢不僅可以查詢學(xué)生用戶的個(gè)人成績,還可以查詢所帶課程的成績和所有學(xué)生的成績。5) 教務(wù)管理員管理系統(tǒng)。 首先當(dāng)然個(gè)人信息的維護(hù)。 對于教務(wù)管理員來說, 該系統(tǒng)應(yīng)該可以幫助他進(jìn)行開課信息的維護(hù), 人才培養(yǎng)方案管理; 在學(xué)生由于種種原因而有選課異常時(shí), 教務(wù)管理員還有重選、 補(bǔ)選、 退選的需求; 課程結(jié)束老師錄入學(xué)生成績后,教務(wù)管理員還有利用系統(tǒng)進(jìn)行成績的審核,有時(shí)還要對某些學(xué)生的成績進(jìn)行修改。6) 教務(wù)管理員查詢系統(tǒng)。 教務(wù)管理員首先要具有學(xué)生查詢系統(tǒng), 老師查詢系統(tǒng)的所有需求。 除了這些需求外, 教務(wù)管理員還應(yīng)該可以查詢開課信息, 學(xué)生評教查詢和
9、學(xué)生成績查詢(包括學(xué)生個(gè)人成績,班級成績,某課程成績以及全院學(xué)生的成績) 。7) 系統(tǒng)管理員管理系統(tǒng)。 作為系統(tǒng)掛了管理員, 是該系統(tǒng)中最高級的用戶, 因此該用戶的需求相對比較的多。第一,要通過系統(tǒng)對院系進(jìn)行管理:院系的設(shè)置,院系的調(diào)整以及院系的總體規(guī)劃。第二,進(jìn)行專業(yè)的設(shè)置,專業(yè)的添加、刪除、修改,專業(yè)的調(diào)整。第三,要對學(xué)期進(jìn)行設(shè)置和教室的管理。第四,對各學(xué)院的教師管理,其中就包括了老師在系統(tǒng)中的權(quán)限設(shè)置。第五,學(xué)生的學(xué)籍的管理(學(xué)籍的異動) 。第六,通過各學(xué)院上報(bào)的課程信息進(jìn)行全面的排課以及課程的停開和增開, 這也是學(xué)生選課系統(tǒng)中很重要的一個(gè)需求。 最后, 系統(tǒng)管理員管理系統(tǒng)還應(yīng)該可以利用
10、該系統(tǒng)進(jìn)行用戶的管理和維護(hù),包括用戶的添加、刪除,修改等。8) 系統(tǒng)管理員查詢系統(tǒng)。 該子系統(tǒng)的需求首先要包括前三類用戶查詢系統(tǒng)中的所有需求,即可以查詢前三類用戶能進(jìn)行的所有查詢。其次,要包括院系的查詢,專業(yè)的查詢,教室的查詢。第三,通過系統(tǒng)查詢學(xué)生、教師的基本信息,查詢老師的任課情況以及教學(xué)情況(評教情況) 。第四,在對學(xué)生學(xué)籍管理時(shí)要對學(xué)生學(xué)籍的查詢。第五,對課程信息及選課信息的查詢。 此外, 還有對該系統(tǒng)中所有學(xué)生用戶的學(xué)生成績查詢和該系統(tǒng)中所有老師用戶的評教結(jié)果查詢的需求。第 2 章 數(shù)據(jù)庫概念模型設(shè)計(jì)2.1 數(shù)據(jù)庫實(shí)體以及關(guān)系設(shè)計(jì)本系統(tǒng)主要有9 個(gè)實(shí)體:A.學(xué)生實(shí)體B.教師實(shí)體C.管
11、理員實(shí)體D.課程實(shí)體E.職稱實(shí)體F.政治面貌實(shí)體G.院系實(shí)體H .專業(yè)實(shí)體I .新聞公告實(shí)體實(shí)體關(guān)系圖:圖2.4學(xué)生政治面貌實(shí)體關(guān)系圖教師圖2.2教師課程實(shí)體關(guān)系圖圖2.3學(xué)生課程實(shí)體關(guān)系圖學(xué)生圖2.5教師職稱實(shí)體關(guān)系圖圖2.6管理員新聞公告實(shí)體關(guān)系圖學(xué)生圖2.7學(xué)生專業(yè)實(shí)體關(guān)系圖圖2.7總實(shí)體關(guān)系圖2.2面向類和對象分析設(shè)計(jì)類和對象設(shè)計(jì)如下:學(xué)生姓名:string 學(xué)號:string 性別:char 出生年月:data 政治面貌:string 專業(yè)名稱:string 籍貫:string 家庭地址:string 聯(lián)系電話:string教師教師姓名:string 教職工號:string 性別:c
12、har 出生年月:data 職稱:string 所屬學(xué)院:string 籍貫:string 民族:string 家庭地址:string 郵政編碼:string 聯(lián)系 電話:string查詢() 添加() 修改() 刪除()添加() 刪除() 查詢() 修改()管理員課程姓名:string 編號:string 性別:char 出生年月:data 政治面貌:string 學(xué)院:string 專業(yè)名稱:string 籍貫:string 民族:string 家庭地址:string 聯(lián)系電話:string課程名:string 課程號:int 學(xué)時(shí):全部課程 學(xué)分:全部課程 開課年度:string 開課學(xué)
13、期:string 開課學(xué)院:部門單位 任課教師:教師 上課地點(diǎn):char 上課時(shí)間:char 上課人數(shù):int 最大上課人數(shù):int添加() 刪除() 查詢() 修改()查詢() 添加() 修改() 選課()專業(yè)院系專業(yè)名稱:string院系名稱:string專業(yè)string院系編號:string所屬學(xué)院:string查詢()查詢()修改()修改()添加()添加()刪除()刪除()學(xué)生課程學(xué)號:int課程號:int分?jǐn)?shù):float掛科情況:boolen教師課程工號:int課程號:int添加() 修改() 刪除() 查詢()添加() 修改() 刪除() 查詢()登陸用戶名:int 密碼:stri
14、ng 級別:string添加() 修改() 刪除() 查詢()新聞公告通知標(biāo)題:string 通知內(nèi)容:string 發(fā)布單位:string 發(fā)布時(shí)間:data 有效期限:data 查詢()添加() 修改() 刪除()政治面貌編號:int 名稱:string職稱編號:int 名稱:string添加() 修改() 查詢()3.1 E-R 圖局部E-R圖添加() 修改() 查詢()數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)3.1職稱編號E-R圖3.5教師E-R圖3.6管理員E-R圖3.7課程E-R圖3.8專業(yè)E-R圖3.9院系E-R圖全局E-R圖:備注備注職稱代號代號工號政治面貌姓名政治面貌職稱聯(lián)系方式教師屬于屬于學(xué)號講
15、授聯(lián)系方式姓名學(xué)生課程號課程名屬于入學(xué)年份開課時(shí)間預(yù)留字段2任課教師號選修課程限選人數(shù)已選人數(shù)管理屬于預(yù)留字段2屬于管理號姓名聯(lián)系方式管理員標(biāo)題地址編號新聞公告發(fā)布名稱預(yù)留字段預(yù)留字段專業(yè)代號屬于專業(yè)名稱院系代號預(yù)留字段1預(yù)留字段1預(yù)留字段2預(yù)留字段1預(yù)留字段1K.一J"留字段2圖3.10全局E-R圖3.2 類和對象向關(guān)系模式轉(zhuǎn)換學(xué)生信息(姓名、學(xué)號、性別、出生年月、政治面貌、學(xué)院、專業(yè)名稱、培養(yǎng)層次、籍貫、民族、家庭地址、聯(lián)系電話、)成績信息(學(xué)生姓名、學(xué)號、專業(yè)名稱、課程名、課程號、分?jǐn)?shù)、績點(diǎn)、學(xué)分、所獲學(xué)分、)課程(課程名、課程號、任課老師、選課班級、學(xué)時(shí)、學(xué)分、開課年度、開課
16、學(xué)期、學(xué)院、上課地點(diǎn)、上課時(shí)間、限制人數(shù))選課信息(學(xué)生姓名、學(xué)號、學(xué)院、教學(xué)班號、課程名、課程號、任課老師、上課地點(diǎn)、上課時(shí)間)專業(yè)信息(專業(yè)名稱、專業(yè)編號、所授學(xué)位、培養(yǎng)方案、所屬學(xué)院)教師信息(教師姓名、教職工號、性別、出生年月、學(xué)歷、職稱、所屬學(xué)院、籍貫、民族、家庭地址、郵政編碼、聯(lián)系電話、身份證號碼)新聞公告(通知標(biāo)題、通知內(nèi)容、發(fā)布單位、發(fā)布時(shí)間、有效期限)開關(guān)表(系統(tǒng)開關(guān),選課開關(guān))3.3 關(guān)系模式優(yōu)化通過對用戶需求和實(shí)體之間的關(guān)系的分析,結(jié)合范式考慮,本系統(tǒng)建立以下表1).院系表名稱數(shù)據(jù)類型是否主鍵院系代號int是院系名稱varchar(50)預(yù)留字段varchar(50)2)
17、.專業(yè)表名稱數(shù)據(jù)類型是否主鍵專業(yè)代號int是專業(yè)名稱varchar(50)所屬學(xué)院代號Int預(yù)留字段varchar(50)3).學(xué)生表名稱數(shù)據(jù)類型是否主鍵學(xué)號int是姓名varchar(50)性別Char(2)年齡int政治面貌代號Int專業(yè)代號int聯(lián)系方式Varchar(50)入學(xué)年份Int預(yù)留字段Varchar(50)4).教師表名稱數(shù)據(jù)類型是否主鍵工號int是姓名varchar(50)性別char(2)年齡int職稱代號Int院系代號Int聯(lián)系方式Varchar(50)教齡Int預(yù)留字段varchar(50)5).管理員表名稱數(shù)據(jù)類型是否主鍵管理號int是姓名varchar(50)性別
18、Char(2)職務(wù)Varchar(50)聯(lián)系方式Varchar(50)地址varchar(50)預(yù)留字段varchar(50)6).登錄表名稱數(shù)據(jù)類型是否主鍵int是密碼varchar(50)級別Char(4)預(yù)留字段varchar(50)7).新聞公告表名稱數(shù)據(jù)類型是否主鍵編Rint是標(biāo)題varchar(50)內(nèi)容varchar(100)類別Varchar(50)發(fā)布人In預(yù)留字段varchar(50)8).課程表名稱數(shù)據(jù)類型是否主鍵球杠勺int是課程名varchar(50)任課教師int學(xué)分int上課時(shí)間datetime限選人數(shù)int已選人數(shù)int開課學(xué)院代號Int預(yù)留字段Varchar(
19、50)9).教師課程表名稱數(shù)據(jù)類型是否主鍵工號int是球杠勺int是預(yù)留字段varchar(50)10).學(xué)生課程表名稱數(shù)據(jù)類型是否主鍵學(xué)號int是球杠勺Int是分?jǐn)?shù)Float預(yù)留字段varchar(50)11).職稱表名稱數(shù)據(jù)類型是否主鍵職稱代號int是職稱varchar(50)預(yù)留字段varchar(50)12).政治面貌表名稱數(shù)據(jù)類型是否主鍵政治面貌代號int是政治面貌varchar(50)預(yù)留字段varchar(50)13).開關(guān)表名稱數(shù)據(jù)類型是否主鍵開關(guān)類型varchar(50)是狀態(tài)char(2)預(yù)留字段varchar(50)14).登錄日志表名稱數(shù)據(jù)類型是否主鍵編RInt是操作類
20、型varchar(50)操作人varchar(50)操作時(shí)間Datetime被操作賬戶Int預(yù)留字段varchar(50)第4章數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì)4.1 存取方法設(shè)計(jì)數(shù)據(jù)庫系統(tǒng)是多用戶共享的系統(tǒng),對同一個(gè)關(guān)系要建立多條存儲路徑才能滿足多用戶的多種應(yīng)用要求。對于教務(wù)管理系統(tǒng)來說,為了提高某些屬性(如:學(xué)生學(xué)號,教職工號,課程號,學(xué)生成績,選課信息等)的查詢速度,可以選擇聚簇存取的方法,即把這些屬性上具有相同值的元組集中放在連續(xù)的物理塊上。這樣在查詢某個(gè)學(xué)院或是查詢某個(gè)專業(yè)或某學(xué)年等的學(xué)生成績或選課等時(shí)就會大大提高查詢速度。因此,該系統(tǒng)中選擇聚簇存取方法。4.2 存儲結(jié)構(gòu)設(shè)計(jì)教務(wù)管理系統(tǒng)是一個(gè)大型
21、復(fù)雜的計(jì)算機(jī)網(wǎng)絡(luò)信息系統(tǒng),采用基于瀏覽器/服務(wù)器(B/S ),客戶端/服務(wù)器(C/S)混合的應(yīng)用體系結(jié)構(gòu)來建設(shè)教務(wù)管理系統(tǒng)。數(shù)據(jù)庫管理系統(tǒng)采用 Microsoft 公司推出的 SQL Server 2014,并用SQL進(jìn)行數(shù)據(jù)庫的建立和數(shù)據(jù)庫中數(shù)據(jù)的維護(hù)和查詢。4.3 物理設(shè)計(jì)實(shí)現(xiàn)該設(shè)計(jì)的環(huán)境為 Windows 10+ MS SQL Server2014 或以上版本。1、建立學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫use mastercreate database學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫on (name='學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫主文件',filename='D:student system
22、 of gradesstudent system of grades.mdf', size=5, maxsize=50,filegrowth=10%)log on (name='學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫日志文件',filename='D:student system of gradesstudent system of grades.ldf',size=2mb,maxsize=10mb,filegrowth=1mb)Go2. 建立職稱表create table 職稱 (職稱代號int primary key,職稱 varchar(50),預(yù)留字段varch
23、ar(50)3. 建立政治面貌表create table 職稱 (職稱代號int primary key,職稱 varchar(50),預(yù)留字段varchar(50)4. 建立院系表create table 院系 (院系代號int primary key,名稱 varchar(50),預(yù)留字段varchar(50)5. 建立專業(yè)表create table 專業(yè) (專業(yè)代號 int primary key,名稱 varchar(50),所屬院系代號int,預(yù)留字段varchar(50)6. 建立專業(yè)表create table 新聞公告 (編號 int primary key,標(biāo)題varchar(
24、50),內(nèi)容varchar(100),類別varchar(50),發(fā)布人 int,預(yù)留字段 varchar(50) )7. 建立學(xué)生表create table 學(xué)生 (學(xué)號 int primary key,姓名varchar(50),性別 char(2) default '男' check ( 性別 = ' 男 ' or 性別 = ' 女'),年齡int,政治面貌代號int,專業(yè)代號int,聯(lián)系方式varchar(50),入學(xué)年份int,預(yù)留字段varchar(50)8. 建立教師表create table 教師 ( 工號int primary
25、key,姓名varchar(50),性別char(2) default '年齡int,職稱代號int ,院系代號int,聯(lián)系方式varchar(50),教齡 int,預(yù)留字段varchar(50)9. 建立管理員表create table 管理員 (管理號int primary key,姓名varchar(50),性別char(2) default'男 ' check( 性別 =' 男 ' or 性別 =' 女'),男' CHECK ( 性別 =' 男 ' or 性別 =' 女'),職務(wù)varcha
26、r(50),聯(lián)系方式varchar(50),地址 varchar(50),預(yù)留字段varchar(50)10. 建立課程表create table 課程 (課程號int primary key,課程名varchar(50),任課教師int,學(xué)分 int,上課時(shí)間 char(5) default '1-18' check(上課時(shí)間 ='1-16' or 上課時(shí)間 ='1-14'or 上課時(shí)間='1-12' or 上課時(shí)間 ='1-6' or 上課時(shí)間 ='1-18'),考試時(shí)間datetime,限選人
27、數(shù)int,已選人數(shù)int,開課學(xué)院代號int,預(yù)留字段varchar(50)11. 建立學(xué)生課程表create table 學(xué)生課程 (學(xué)號 int,課程號int,分?jǐn)?shù)float default'0',預(yù)留字段varchar(50),primary key( 學(xué)號 , 課程號 )12. 建立教師課程表create table 教師課程 (工號int,課程號int,預(yù)留字段varchar(50)13. 建立登錄表create table 登錄 (賬號int primary key,密碼varchar(50),學(xué)生 ' check( 級別 =' 學(xué)生 'or
28、 級別 =' 教師 ' or 級別 =' 管級別char(6) default '理員),預(yù)留字段 varchar(50)第5章數(shù)據(jù)庫完整性設(shè)計(jì)5.1 主鍵及唯一性索引表名主鍵建立唯一性索引學(xué)生(學(xué)號)create unique index on學(xué)生(學(xué)號)學(xué)生學(xué)生課程(學(xué)號,課程號)create unique index學(xué)生課程on學(xué)生課程(學(xué)號,課程號)課程(課程號)create unique index on課程(課程號)課程教師課程(工號,課程號)create unique index教師課程on教師課程(工號,課程號)教師(工號)create uniq
29、ue index on教師(工號)教師管理員(管理號)create unique indexon管理員(管理號)管理員專業(yè)(專業(yè)編號)create unique indexon專業(yè)(專業(yè)編r )專業(yè)院系(阮系編力)create unique indexon阮系(阮系編r )院系登錄(帳號)create unique indexon登錄(貝k勺)登錄新聞公告(編號)create unique indexon新聞公告(編號)新聞公告職稱(職稱代號)create unique indexon職稱(職稱代號)職稱政治面貌(政治面貌代號)create unique index政治面貌 on政治面貌(政治
30、面貌代號)5.2 參照完整性設(shè)計(jì)- -1、新聞公告表中將屬性發(fā)布人設(shè)計(jì)為外鍵alter table 新聞公告add foreign key (發(fā)布人)references 管理員(管理號)- -2、教師表中將屬性職稱代號和院系代號設(shè)計(jì)為外鍵alter table 教師 add foreign key (職稱代號)references 職稱(職稱代號)alter table 教師 add foreign key ( 院系代號 ) references 院系 ( 院系代號 )- -3 、學(xué)生表中將屬性政治面貌代號屬性和專業(yè)代號設(shè)計(jì)為外鍵alter table 學(xué)生 add foreign key
31、( 政治面貌代號) references 政治面貌 ( 政治面貌代號 )alter table 學(xué)生 add foreign key ( 專業(yè)代號 ) references 專業(yè) ( 專業(yè)代號 )- -4 、專業(yè)表中將屬性所屬院系代號設(shè)計(jì)為外鍵alter table 專業(yè) add foreign key ( 所屬院系代號) references 院系 ( 院系代號 )- -5 、學(xué)生課程表中將屬性課程號和學(xué)號設(shè)計(jì)為外鍵alter table 學(xué)生課程 add foreign key ( 學(xué)號 ) references 學(xué)生 ( 學(xué)號 )alter table 學(xué)生課程 add foreign
32、key ( 課程號 ) references 課程 ( 課程號 )- -6 、教師課程表中將屬性工號和課程號計(jì)為外鍵alter table 教師課程 add foreign key ( 工號 ) references 教師 ( 工號 )alter table 教師課程 add foreign key ( 課程號 ) references 課程 ( 課程號 )- -7 、課程表中將屬性任課教師和開課學(xué)院代號計(jì)為外鍵alter table 課程 add foreign key ( 任課教師 ) references 教師 ( 工號 )alter table 課程 add foreign key (
33、 開課學(xué)院代號) references 院系 ( 院系代號 )5.3 Check 約束1 、學(xué)生,教師表和管理員表中將性別進(jìn)行check 約束:check ( 性別 =' 男 ' or 性別 =' 女')2、課程表中將上課時(shí)間進(jìn)行check ( 上課時(shí)間 ='1-18' oror '1-16')3、登錄表中將開課學(xué)期進(jìn)行check 約束:上課時(shí)間 ='1-12'上課時(shí)間 ='1-16' or 上課時(shí)間 ='1-14' orcheck 約束:check ( 級別= 管理員or 級別 =
34、 學(xué)生 or 級別 = 教師 )4 、學(xué)生表中將分?jǐn)?shù)check 約束:check ( 分?jǐn)?shù) >0 and 分?jǐn)?shù) <100)5 . 登錄日志表將操作類型check 約束check (操作類型=刪除數(shù)據(jù)or 操作類型 = 修改數(shù)據(jù) or 操作類型 = 添加數(shù)據(jù) )5.4 Default 約束1 、教師表和學(xué)生表中性別默認(rèn)值設(shè)為:男。 Default ' 男 '2 、教師信息表和學(xué)生信息表中民族默認(rèn)值設(shè)為:漢族。 Default ' 漢族3 、登錄表中級別默認(rèn)值設(shè)為:學(xué)生。 Default ' 學(xué)生 '4 、學(xué)生課程表中分?jǐn)?shù)默認(rèn)值設(shè)為:0。 Def
35、ault '0'5、課程表中開課時(shí)間默認(rèn)值設(shè)為:1-18。 Default '1-18'5.5 觸發(fā)器設(shè)計(jì)1 、在政治面貌表中建立刪除修改更新政治面貌觸發(fā)器create trigger 刪除修改更新政治面貌on 政治面貌with encryptioninstead ofupdate,insert,deleteasbegin- -print'政治面貌表不允許修改,刪除,更新等操作! 'RAISERROR做治面貌表不允許修改,刪除,更新等操作!,18,18)End2、在職稱表中建立刪除更新插入職稱觸發(fā)器create trigger 刪除修改更新職稱o
36、n 職稱with encryptioninstead ofupdate,insert,deleteasbegin- -print'政治面貌表不允許修改,刪除,更新等操作! 'RAISERROR(職稱表不允許修改,刪除,更新等操作!',18,18)End3、在新聞公告表建立刪除成功提示觸發(fā)器create trigger 刪除新聞公告提示成功on 新聞公告with encryptionafterupdate,insert,deleteasbegin- -print'政治面貌表不允許修改,刪除,更新等操作! 'RAISERROR(操作成功',10,1)
37、End操作類操作類4、在登錄表中建立刪除數(shù)據(jù)觸發(fā)器a. 建立日志表create table 登錄表日志( 操作編號 int primary key identity(1,1),登錄賬號 varchar(50) default 'admin',數(shù)據(jù)庫登錄名 varchar(50) default 'sa',操作類型 char(8) check( 操作類型 =' 插入記錄 ' or 操作類型 =' 修改數(shù)據(jù) ' or 型 =' 刪除數(shù)據(jù) '),操作時(shí)間 datetime default getdate(), 被操作賬戶
38、 int)b. 建立觸發(fā)器create trigger 刪除登錄表日志on 登錄with encryption fordeleteasbegindeclare 被操作賬戶 intselect 被操作賬戶=賬號from deletedinsert into 登錄表日志(操作類型 ,被操作賬戶 )values(' 刪除數(shù)據(jù) ',被操作賬戶 ) end5、在登錄表中建立修改數(shù)據(jù)觸發(fā)器a. 建立日志表create table 登錄表日志( 操作編號 int primary key identity(1,1),登錄賬號 varchar(50) default 'admin'
39、;,數(shù)據(jù)庫登錄名 varchar(50) default 'sa',操作類型 char(8) check( 操作類型 =' 插入記錄 ' or 操作類型 =' 修改數(shù)據(jù) ' or 型 =' 刪除數(shù)據(jù) '),操作時(shí)間 datetime default getdate(), 被操作賬戶 int)b. 建立觸發(fā)器create trigger 修改登錄表日志on 登錄with encryptionforupdateasbegindeclare 被操作賬戶 intselect 被操作賬戶=賬號from deletedinsert into
40、登錄表日志(操作類型 ,被操作賬戶 )values(' 修改數(shù)據(jù) ',被操作賬戶 )end6、在登錄表中建立插入數(shù)據(jù)觸發(fā)器a. 建立日志表create table 登錄表日志( 操作編號 int primary key identity(1,1),登錄賬號 varchar(50) default 'admin',數(shù)據(jù)庫登錄名 varchar(50) default 'sa',操作類型 char(8) check( 操作類型 =' 插入記錄 ' or 操作類型 =' 修改數(shù)據(jù) ' or 操作類型 =' 刪除數(shù)
41、據(jù) '),操作時(shí)間 datetime default getdate(),被操作賬戶 int)b. 建立觸發(fā)器create trigger 插入登錄表日志on 登錄with encryptionforinsertasbegindeclare 被操作賬戶 intselect 被操作賬戶 =賬號from deletedinsert into 登錄表日志(操作類型 ,被操作賬戶 )values(' 插入記錄 ',被操作賬戶 )end7、在學(xué)生表中建立修改學(xué)號觸發(fā)器create trigger 修改學(xué)號on 學(xué)生with encryptionforupdateasbeginde
42、clare 修改后學(xué)號intdeclare 修改前學(xué)號intselect 修改前學(xué)號=學(xué)號from deletedselect 修改后學(xué)號=學(xué)號from insertedif( 修改后學(xué)號!=修改前學(xué)號)RAISERROR(學(xué)號不允許修改哦!,18,18)End8 、在教師表中建立修改工號觸發(fā)器create trigger 修改工號on 教師with encryptionforupdateasbegindeclare 修改后工號intdeclare 修改前工號intselect 修改前工號=工號from deletedselect 修改后工號=工號from insertedif( 修改后工號!
43、=修改前工號)RAISERROR(學(xué)號不允許修改哦!',18,18)End9 、在管理員表中建立修改管理號觸發(fā)器create trigger 修改管理號on 管理員with encryptionforupdateasbegindeclare 修改后管理號intdeclare 修改前管理號intselect 修改前管理號=管理號from deletedselect 修改后管理號=管理號from insertedif( 修改后管理號!=修改前管理號)RAISERROR(學(xué)號不允許修改哦!,18,18)End第 6 章 數(shù)據(jù)庫視圖設(shè)計(jì)1 、建立學(xué)生信息視圖create view 學(xué)生信息as
44、select 學(xué)號 , 姓名 , 密碼 , 性別 , 年齡 , 學(xué)生 . 政治面貌代號, 政治面貌 , 學(xué)生 . 專業(yè)代號 , 專業(yè)名稱 , 所屬院系代號, 院系名稱 , 聯(lián)系方式 , 入學(xué)年份from 學(xué)生 , 政治面貌 , 登錄 , 專業(yè) , 院系where 學(xué)號 =賬號and 學(xué)生. 政治面貌代號=政治面貌 . 政治面貌代號and 學(xué)生 . 專業(yè)代號=專業(yè). 專業(yè)代號and 專業(yè). 所屬院系代號=院系 . 院系代號select *from 學(xué)生信息2、建立教師信息視圖create view 教師信息asselect 工號 , 姓名 , 密碼 , 性別 , 年齡 , 教師 . 職稱代號 ,
45、 職稱名稱 , 教師 . 院系代號 , 院系名稱 ,聯(lián)系方式 , 教齡from 教師 , 職稱 , 登錄 , 院系where 工號 =賬號and 教師. 職稱代號=職稱. 職稱代號and 教師. 院系代號=院系. 院系代號select *from 教師信息3、建立管理員信息視圖create view 管理員信息asselect 管理號 , 姓名 , 密碼 , 性別 , 職務(wù) , 聯(lián)系方式 , 地址from 管理員 , 登錄where 管理號=賬號select *from 管理員信息4、建立學(xué)生課程視圖create view 學(xué)生課程信息asselect 學(xué)生課程 . 學(xué)號 , 學(xué)生姓名 , 入
46、學(xué)年份 , 學(xué)生課程 . 課程號 , 課程名 , 學(xué)分 , 上課時(shí)間 , 考試時(shí)間 , 開課學(xué)院代號, 院系名稱 , 任課教師 , 教師姓名 , 分?jǐn)?shù)from 學(xué)生 , 課程 , 學(xué)生課程 , 教師, 院系where 學(xué)生 . 學(xué)號=學(xué)生課程. 學(xué)號 and 學(xué)生課程 . 課程號=課程. 課程號 and 教師 . 工號 =任課教師 and 開課學(xué)院代號 =院系. 院系代號select *from 學(xué)生課程信息5、建立教師課程視圖create view 教師課程信息 asselect 教師課程 . 工號 , 教師姓名 , 教齡 , 教師課程 . 課程號 , 課程名 , 學(xué)分 , 上課時(shí)間 , 考
47、試時(shí) 間, 開課學(xué)院代號, 院系名稱 , 已選人數(shù) , 限選人數(shù)from 課程 , 教師課程 , 教師 , 院系where 教師 . 工號=教師課程. 工號 and 教師課程 . 課程號=課程. 課程號 and 開課學(xué)院代號=院系 . 院系代號select *from 教師課程信息6、建立專業(yè)學(xué)生視圖create view 專業(yè)學(xué)生信息asselect 專業(yè) . 專業(yè)代號 , 專業(yè)名稱 , 學(xué)號 , 學(xué)生姓名 , 性別 , 年齡 , 學(xué)生 . 政治面貌代號, 政治面貌 , 聯(lián)系方式 , 入學(xué)年份from 專業(yè) , 學(xué)生 , 政治面貌where 學(xué)生 . 政治面貌代號=政治面貌. 政治面貌代號a
48、nd 學(xué)生 . 專業(yè)代號=專業(yè). 專業(yè)代號select *from 專業(yè)學(xué)生信息7、建立院系教師視圖create view 院系教師信息asselect 教師 . 院系代號 , 院系名稱 , 工號 , 教師姓名 , 性別 , 年齡 , 教師 . 職稱代號 , 職稱名稱 , 聯(lián)系方式 , 教齡from 教師 , 院系 , 職稱where 教師 . 院系代號=院系. 院系代號 and 教師 . 職稱代號=職稱. 職稱代號select *from 院系教師信息8、建立課程學(xué)生視圖create view 課程學(xué)生信息asselect 學(xué)生課程 . 課程號 , 課程名 , 學(xué)生課程 . 學(xué)號 , 學(xué)生姓
49、名 , 學(xué)生 . 專業(yè)代號 , 專業(yè)名稱 , 入學(xué)年份 , 學(xué)生 . 聯(lián)系方式 , 任課教師 , 教師姓名from學(xué)生 , 課程, 學(xué)生課程 , 教師, 院系, 專業(yè)where 學(xué)生 . 學(xué)號=學(xué)生課程. 學(xué)號 and 學(xué)生課程 . 課程號=課程. 課程號 and 教師 . 工號 =任課教師 and 開課學(xué)院代號 =院系. 院系代號 and 學(xué)生 . 專業(yè)代號 =專業(yè). 專業(yè)代號select *from 課程學(xué)生信息9、建立專業(yè)院系視圖create view 專業(yè)院系信息asselect 院系代號 , 院系名稱 , 專業(yè)代號 , 專業(yè)名稱from 專業(yè) , 院系where 專業(yè) . 所屬院系代
50、號=院系代號select *from 專業(yè)院系信息第 7 章 數(shù)據(jù)庫存儲過程設(shè)計(jì)1 、建立刪除管理員存儲過程 create procedure 刪除管理員 管理員的編號intasdelete from 管理員where 管理號=管理員的編號delete from 登錄 where 賬號 =管理員的編號 delete from 新聞公告 where 發(fā)布人=管理員的編號goexec 刪除管理員 10032、建立添加管理員存儲過程create procedure 添加管理員 管理員的編號int , 管理員的密碼varchar ( 50),管理員的姓名varchar ( 50),管理員的性別char ( 4),管理員的職務(wù)varchar ( 50),管理員的聯(lián)系方式varchar (50),管理員的地址varchar (50)as insert into 管理員values ( 管理員的編號, 管理員的姓名, 管理員的性別, 管理員的職務(wù), 管理員的聯(lián)系方式, 管理員的地址 ,NULL) insert i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 虛擬社區(qū)公民行為分析-洞察分析
- 精神科門診護(hù)理工作總結(jié)
- 音樂平臺用戶忠誠度模型-洞察分析
- 社交行業(yè)營銷技巧培訓(xùn)體會
- 游戲化測試-洞察分析
- 樂器店前臺工作感悟
- 2025年度電子商務(wù)平臺委托借貸居間合同模板3篇
- 2025年度畜禽養(yǎng)殖場土地承包與農(nóng)業(yè)科技成果轉(zhuǎn)化協(xié)議3篇
- 美容院衛(wèi)生整治規(guī)定
- 二零二五版GRc構(gòu)件生產(chǎn)、安裝與節(jié)能改造服務(wù)合同3篇
- 跆拳道專業(yè)隊(duì)訓(xùn)練計(jì)劃書
- DL-T1848-2018220kV和110kV變壓器中性點(diǎn)過電壓保護(hù)技術(shù)規(guī)范
- 國有企業(yè)內(nèi)部審計(jì)實(shí)施方案
- 部編版語文一年級下冊全冊大單元整體作業(yè)設(shè)計(jì)
- 減速機(jī)的培訓(xùn)課件
- 六西格瑪-DMAIC-報(bào)告
- 老年人護(hù)理風(fēng)險(xiǎn)管理
- 蒸壓加氣混凝土制品課件
- 《根號2有多大》課件
- 《樹立正確的人生觀》課件
- 全新特種設(shè)備安全操作培訓(xùn)課件完整版下載
評論
0/150
提交評論