大數(shù)據(jù)庫 教務(wù)管理系統(tǒng) 綜合實(shí)驗(yàn)報(bào)告材料
《大數(shù)據(jù)庫 教務(wù)管理系統(tǒng) 綜合實(shí)驗(yàn)報(bào)告材料》由會員分享,可在線閱讀,更多相關(guān)《大數(shù)據(jù)庫 教務(wù)管理系統(tǒng) 綜合實(shí)驗(yàn)報(bào)告材料(20頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、word 華北科技學(xué)院計(jì)算機(jī)系綜合性實(shí)驗(yàn) 實(shí) 驗(yàn) 報(bào) 告 課程名稱 《數(shù)據(jù)庫系統(tǒng)A》 實(shí)驗(yàn)學(xué)期 2011 至 2012 學(xué)年 第 2 學(xué)期 學(xué)生所在系部 計(jì)算機(jī)學(xué)院 年級 2010 專業(yè)班級 網(wǎng)絡(luò)B101班 學(xué)生學(xué)號 任課教師 實(shí)驗(yàn)成績 計(jì)算機(jī)系制 《數(shù)據(jù)庫系統(tǒng)A》課程綜合性實(shí)驗(yàn)報(bào)告 開課實(shí)驗(yàn)室:軟件開發(fā)實(shí)驗(yàn)室〔一〕 2012年6月 6日 實(shí)驗(yàn)題目 《教
2、務(wù)管理系統(tǒng)》數(shù)據(jù)庫設(shè)計(jì) 一、實(shí)驗(yàn)?zāi)康? 利用一種DBMS作為設(shè)計(jì)平臺,理解并應(yīng)用課程中關(guān)于數(shù)據(jù)庫設(shè)計(jì)的相關(guān)理論,能按照數(shù)據(jù)庫設(shè)計(jì)步驟完成完整的數(shù)據(jù)庫設(shè)計(jì),包括需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)和實(shí)施。同時(shí)能夠正確應(yīng)用各個(gè)階段的典型工具進(jìn)展表示。 二、設(shè)備與環(huán)境 (1) 硬件設(shè)備:PC機(jī)一臺 (2) 軟件環(huán)境:安裝Windows操作系統(tǒng),安裝數(shù)據(jù)庫管理系統(tǒng)SQL Server2008等。 三、實(shí)驗(yàn)容 首先,通過調(diào)查,教務(wù)管理系統(tǒng)中主要有四類用戶,即學(xué)生用戶,教師用戶,教務(wù)管理員和系統(tǒng)管理員。對應(yīng)這些用戶,其處理要求的主要的功能就是進(jìn)展一系列的查詢和各類數(shù)據(jù)的管理與維護(hù)。其
3、具體的處理要求如下: 1〕系統(tǒng)管理:實(shí)現(xiàn)系統(tǒng)管理人員對系統(tǒng)的管理,包括添加刪除用戶,更改密碼,數(shù)據(jù)備份,數(shù)據(jù)復(fù)原,注銷等功能。 2〕教務(wù)管理:實(shí)現(xiàn)教務(wù)管理人員對系統(tǒng)的管理,包括課程安排,成績審核,學(xué)生成績管理,學(xué)生學(xué)籍管理等功能。 3〕根本信息:實(shí)現(xiàn)顯示學(xué)生和教師以與課程、班級、系別的根本信息〔包括學(xué)生根本信息,教師根本信息,課程根本信息等〕。 4〕查詢:包括實(shí)現(xiàn)學(xué)生查詢,教師查詢。學(xué)生查詢包括自己的根本信息,自己的課程,課表,成績等,教師查詢包括查詢自己的信息,自己所帶班的學(xué)生,自己的課表以與學(xué)生成績等。 5〕教師對成績的錄入以與自己信息的查詢與維護(hù)。 其次,該教務(wù)管理系統(tǒng)中,結(jié)
4、合以上用戶種類以與其具體的處理功能要求,教務(wù)管理系統(tǒng)要具備以下信息要求: 教務(wù)管理系統(tǒng)涉與的實(shí)體有: l 教師——工作證號、、、工資、; l 學(xué)生——學(xué)號、、性別、年齡、系代號等; l 班級——班號、最低總學(xué)分等; l 系——系代號、系名和系辦公室等; l 課程——課序號、課名、學(xué)分、最大人數(shù)等; 其中,這些實(shí)體之間的聯(lián)系如下: l 每個(gè)學(xué)生都屬于一個(gè)班,每個(gè)班都屬于一個(gè)系,每個(gè)教師也都屬于一個(gè)系。 l 每個(gè)班的班主任都由一名教師擔(dān)任 l 一名教師可以教多門課,一門課可以有幾位主講教師,但不同教師講的同一門課其課序號是不同的〔課序號是唯一的〕。 l 一名同學(xué)可以選
5、多門課,一門課可被假如干同學(xué)選中。 l 一名同學(xué)選中的課假如已學(xué)完,應(yīng)該記錄有相應(yīng)成績。 l 本單位學(xué)生、教師都有重名,工作證號、學(xué)號唯一。 另外,對于教務(wù)管理系統(tǒng)需求分析的安全性與完整性要求,首先,安全性方面,系統(tǒng)應(yīng)對不同用戶設(shè)置不同的權(quán)限,例如,學(xué)生用戶不能隨意更改自己的成績信息等,從而保障數(shù)據(jù)庫數(shù)據(jù)的安全。其次,完整性方面,要求各種信息記錄的完整性,關(guān)鍵信息記錄容不能為空;各種數(shù)據(jù)間相互的聯(lián)系的正確性;一樣的數(shù)據(jù)在不同記錄中的一致性等。 在概念結(jié)構(gòu)設(shè)計(jì)中,我采用自底向上設(shè)計(jì)概念結(jié)構(gòu)的方法。即第一步抽象數(shù)據(jù)并設(shè)計(jì)局部視圖,第二步是集成局部視圖,得到全局的概念結(jié)構(gòu)。 該教務(wù)管理
6、系統(tǒng)中的局部概念模型〔E-R圖〕如下: 〔1〕、一個(gè)系的關(guān)系模式圖: 1 n 1 n 1 n 教師 班級 屬于 最低總學(xué)分 班號 某某 工作證號 系 系辦公室 系名 系代號 屬于 工作 學(xué)生 學(xué)號 年齡 性別 某某 工資 系代號 〔2〕、選課系統(tǒng)的關(guān)系模式圖: 選修 期中成績 平時(shí)成績 最后成績 總評成績 期末成績 課序號 課名 學(xué)分 年齡 學(xué)號 n m 某某 課程 學(xué)生 名額 性別
7、 系代號 課序號 課名 〔3〕、教師授課系統(tǒng)關(guān)系模型圖: 授課 工資 教師 某某 工作證號 課程 n 1 學(xué)分 名額 〔4〕、教師與班級局部的關(guān)系模型圖: 課名 班級 負(fù)責(zé) 最低總學(xué)分 班號 教師 工資 某某 工作證號 n 1 該教務(wù)管理系統(tǒng)中的全局概念模型〔E-R圖〕為: 課序號 課名 學(xué)分 年齡 學(xué)號 選修 平時(shí)成績 最后成績 總評成績 期中成績 期末成績 某某 n m
8、 課程 學(xué)生 名額 性別 n 系代號 屬于 n 1 課名 班號 授課 班級 n 負(fù)責(zé) 最低總學(xué)分 n 屬于 1 1 1 工作 n 1 系 教師 工資 工作證號 某某 系代號 系名 系辦公室 (1)關(guān)系模式的設(shè)計(jì)與優(yōu)化 E-R圖向關(guān)系模型的轉(zhuǎn)換: a. “教師〞實(shí)體對應(yīng)的關(guān)系模式: 教師〔工作證號,,工資,,,系代號〕 代碼表示為:Teacher〔Tno. Tname. Salary.
9、 Tel. Email. Dno〕 其中,工作證號為其候選碼,又因?yàn)榻處熍c系別之間是n:1的工作關(guān)系,經(jīng)過與系別關(guān)系模式的合并后,系別號Dno成為教師關(guān)系模式的外碼,存在的關(guān)系依賴為Tno →( Tname,Salary,Tel,Email,Dno),不存在對候選碼的局部依賴與傳遞依賴,所以滿足BF。 b. “學(xué)生〞實(shí)體對應(yīng)的關(guān)系模式: 學(xué)生〔學(xué)號,,性別,年齡,班號,系代號〕 代碼表示:Student ( Sno, Sname, Ssex, Sage. Class .Dno) 其中,學(xué)號為其候選碼,又因?yàn)閷W(xué)生與班級之間是n:1的屬于關(guān)系,經(jīng)過與
10、班級 關(guān)系模式的合并后,班號Class成為學(xué)生關(guān)系模式的外碼,存在的關(guān)系依賴為Sno →(Sname,Ssex.Sage.Class. Dno),Class →Dno,存在對候選碼的傳遞依賴,所以滿足2NF. c. 系〔系代號,系名,系辦公室〕 代碼表示:Sdept ( Dno, Dname, Dphone ) 系代號為候選碼,存在的函數(shù)依賴為Dno → 〔Dname,Dphone〕,且不存在局部依 賴與傳遞依賴,所以滿足BF。 d. “選修〞聯(lián)系對應(yīng)的關(guān)系模式: 選課〔學(xué)號,課序號,最后成績,平時(shí)成績,期中成績,期末成績,總評成績〕 代碼
11、表示:SC ( Sno, o,Grade. Daigrade. Midbrade. Lasgrade. Fingrade ) 此為m:n聯(lián)系“選修〞所對應(yīng)的關(guān)系模式。Sno和o均為外碼。存在的函數(shù)依 賴為完全函數(shù)依賴〔Sno,o〕 → (Grade.Daigrade. Midbrade. Lasgrade. Fingrade),且不存在局部依賴與傳遞依賴,所以滿足BF。 e. “課程〞實(shí)體對應(yīng)的關(guān)系模式: 課程〔課序號,課名,學(xué)分,名額,工作證號〕 代碼表示:Course ( o, ame, Credit, um, Tno ) 其中,課號為其候選碼,又由于課程與教師之間是
12、n:1的授課關(guān)系,所以經(jīng)過關(guān)系模式的合并后,教師的工作證號被合并為課程關(guān)系模式中的外碼。存在的函數(shù)依賴為o → 〔ame,Credit,um,Tno〕,且不存在對候選碼的局部依賴和傳遞依賴,所以,滿足BF。 f. “班級〞實(shí)體對應(yīng)的關(guān)系模式: 班級〔班號,最低總學(xué)分,工作證號,系代號〕 代碼表示:Class ( Class, Ccredit, Tno. Dno ) 其中,班號為其候選碼,又由于班級與系別之間是n:1的“屬于〞關(guān)系,經(jīng)過“班級〞與“系別〞兩個(gè)實(shí)體關(guān)系模式的合并后,系號被合并為班級對應(yīng)的關(guān)系模式的外碼。而班級與教師之間是n:1的“負(fù)責(zé)〞關(guān)系,所以按照規(guī)定,教師的工作證號
13、也被合并為班級的外碼。存在的函數(shù)依賴為Class →〔Ccredit, Tno.Dno ),其中Class →Tno,而Tno →Dno,即存在對候選碼的傳遞依賴,所以只滿足2NF。 (2)設(shè)計(jì)適宜的視圖 在將E-R圖向關(guān)系模型轉(zhuǎn)換后,還應(yīng)根據(jù)局部應(yīng)用的需求,對不同級別的用戶定義不同的視圖,這樣不僅可以在視圖中重新定義某些屬性名,使用戶使用更方便,而且還可以通過視圖保證系統(tǒng)的安全性。 在本次的教務(wù)管理系統(tǒng)數(shù)據(jù)庫中,我針對使用該數(shù)據(jù)庫最頻繁的學(xué)生和教師用戶建立了相關(guān)視圖,其中包括對系別、教師、課程的分配視圖;對學(xué)生學(xué)號、成績、等相關(guān)信息的查詢和教師根本信息的查詢等三個(gè)視圖,這樣,對這些經(jīng)
14、常使用的查詢,用戶就可以通過視圖來查詢,大大簡化了用戶的使用。 創(chuàng)建的三個(gè)視圖的截圖如下: 教師授課安排視圖: 學(xué)生成績查詢視圖: 教師根本信息查詢視圖: 該數(shù)據(jù)庫中每一個(gè)關(guān)系模式的主碼分別為系統(tǒng)自動設(shè)置的索引,如學(xué)生關(guān)系模式中的學(xué)號,教師關(guān)系模式中的工作證號,系別中的系別號等,同時(shí),通過對實(shí)際操作的思考,為了查詢某系的教師的方便,我們還需要在Teacher表中建立一個(gè)“系代號〞Dno的索引;又因?yàn)椴樵儾僮骱芏喽纪ㄟ^學(xué)生查找的,所以還需要在Student表列sname上建立一個(gè)索引等,這樣大大簡化查詢操作。 (1)創(chuàng)建庫、表 在該教
15、務(wù)管理系統(tǒng)中包括了學(xué)生表、教師表、選課表、系別表、班級表、課程表、教師與班級的聯(lián)系表等多個(gè)表。在此,我以學(xué)生表為例進(jìn)展說明表的創(chuàng)建。 一個(gè)完整的表必須包括對實(shí)體完整性、參照完整性、用戶定義完整性的三種完整性的定義。 在學(xué)生表中,首先考慮表的實(shí)體完整性要求,在該學(xué)生表中學(xué)號被設(shè)為主碼,用PRIMARY KEY定義,且該表含有多個(gè)屬性,所以學(xué)號就是表級約束條件,從而完成了學(xué)生表的實(shí)體完整性的定義。 其次,對于學(xué)生表的參照完整性,系號〔Dno〕、班號〔Class〕是該學(xué)生表的外碼,同時(shí)它還是班級系別Sdept表、Class表的主碼,所以對其用FOREING KEY短語進(jìn)展定義,并用REFER
16、ENCES短語指明該外碼是參照那些表的主碼,從而完成對表的參照完整性的定義。 最后,是表的用戶定義完整性,在該學(xué)生表中,結(jié)合實(shí)際情況我們不難想到應(yīng)該定義一個(gè)Sname為非空的約束條件和性別Ssex只能為“男〞或“女〞二者選其一的約束條件,其中的非空用UNIQE定義即可,而性別用CHECK語句定義即可。 此外,除了對這三種完整性性要求的定義外,再加上該表中的一些其他的屬性列如年齡Sage的創(chuàng)建,從而共同完成了學(xué)生表的創(chuàng)建。 創(chuàng)建學(xué)生表的代碼為: CREATE TABLE student (Sno CHAR(10) PRIMARY KEY, Sname CHAR(20) NOT NUL
17、L, Ssex CHAR(2) CHECK(Ssex IN ('男','女')), Sage SMALLINT, Dno CHAR(10), Class CHAR(10), FOREIGN KEY (Class) REFERENCES Class(Class) ); 創(chuàng)建的學(xué)生表截圖如下: 另外,在創(chuàng)建表的同時(shí)還要注意有時(shí)需要創(chuàng)建兩個(gè)表之間的級聯(lián),例如,此教務(wù)管理系統(tǒng)中SC表是參照學(xué)生表的學(xué)號和課程表的課號建立的,所以應(yīng)該在SC表中建立其與Student表與Cours
18、e表的級聯(lián);課程表又是參照教師表中的教師工作證號建立的,所以應(yīng)該建立一個(gè)course表與教師teacher表的級聯(lián);班級表也是參照教師表中的教師工作證號建立的,所以也應(yīng)該建立一個(gè)class表與教師teacher表的級聯(lián),這樣當(dāng)參照表發(fā)生改變時(shí)能同時(shí)在目標(biāo)表中也發(fā)生相應(yīng)改變,保證數(shù)據(jù)庫中數(shù)據(jù)的正確有效性。 (2)創(chuàng)建用戶 該教務(wù)管理系統(tǒng)的主要用戶有學(xué)生用戶,教師用戶,教務(wù)管理員和系統(tǒng)管理員等四種,所以需要創(chuàng)建這四種類型的用戶,并授予其相應(yīng)的權(quán)限。 對于學(xué)生用戶就只能授予其查詢學(xué)生根本信息student表的權(quán)限,教師相關(guān)信息視圖V-teacher表的權(quán)限,查詢學(xué)生成績視圖V_student表
19、的權(quán)限,以與查詢教師授課分配圖DTC表的權(quán)限; 教師如此具有查詢學(xué)生根本信息Student表的權(quán)限,查詢教師授課的視圖DTC表的權(quán)限,還具有修改自己根本信息teacher表的權(quán)限,還有登記插入學(xué)生成績信息即修改SC表的權(quán)限; 教務(wù)管理員具有修改本系一切相關(guān)信息的權(quán)力,包括查詢、刪除、增添、修改,而系統(tǒng)管理員具有創(chuàng)建各種表、視圖、觸發(fā)器與存儲過程并對各個(gè)用戶進(jìn)展相應(yīng)授權(quán)的權(quán)力。 (3)使用觸發(fā)器、存儲過程等相關(guān)技術(shù)。 在教務(wù)管理數(shù)據(jù)庫中,鑒于存在教師的退休與學(xué)生退學(xué)或畢業(yè)的情況,所以必然會有刪除這些信息的操作,為了方便起見,所以有必要設(shè)計(jì)一個(gè)“刪除教師信息〞觸發(fā)器以與“刪除學(xué)生信息〞觸
20、發(fā)器。同時(shí)教務(wù)管理系統(tǒng)的數(shù)據(jù)庫必然涉與到學(xué)生選課退課的問題,所以還需要設(shè)計(jì)一個(gè)關(guān)于選課退課系統(tǒng)的“選課〞觸發(fā)器與“刪除選課〞觸發(fā)器。 “刪除教師信息〞與“刪除學(xué)生信息〞觸發(fā)器的過程大致一樣,就“刪除教師信息〞觸發(fā)器來說,當(dāng)刪除教師時(shí)如果該教師在course表中有其授課信息,如此當(dāng)刪除該教師后必會引起course表不可用,所以創(chuàng)建的該觸發(fā)器當(dāng)所要刪除的教師號存在于course表里時(shí),系統(tǒng)就應(yīng)該給出“course表里有該教師的課程,請先刪除course表里的記錄!〞的提示信息;就“刪除學(xué)生信息〞觸發(fā)器來說,如果該學(xué)生退學(xué)時(shí)在選課表里仍有其選課記錄,如此當(dāng)刪除該學(xué)生信息后,在SC表里的相關(guān)選課記錄
21、必然成為無效,所以在此設(shè)置了一個(gè)判斷即將退學(xué)的學(xué)生是否能刪除的觸發(fā)器,當(dāng)退學(xué)學(xué)生在SC表里有該學(xué)生的記錄時(shí)應(yīng)該給出“SC表里有該學(xué)生的選課課程,請先刪除SC表里的記錄!〞的信息提示。 “刪除教師信息〞觸發(fā)器操作演示如下所示: “選課〞與“刪除選課〞觸發(fā)器的過程大致一樣,就“選課〞觸發(fā)器來說當(dāng)所選課程的課程號存在于課程表里時(shí),系統(tǒng)就會將該條的選課記錄添加到SC表中,并給出“選課成功〞的信息提示,同樣刪除選課與此類似,當(dāng)要刪除的選課的課程號存在于SC表時(shí),系統(tǒng)就會將該條的選課記錄從SC表中刪除,并給出“刪除選課成功〞的信息提示。 演示執(zhí)行“選課〞觸發(fā)器的操作結(jié)果截圖如下:
22、 這樣在進(jìn)展這些相關(guān)數(shù)據(jù)的處理時(shí)就可以通過觸發(fā)器來控制,如果觸發(fā)動作體執(zhí)行失敗,激活觸發(fā)器的事件就會終止執(zhí)行,觸發(fā)器的目標(biāo)表或觸發(fā)器可能影響的其他對象不發(fā)生變化。 除了創(chuàng)建相應(yīng)觸發(fā)器外,教務(wù)管理系統(tǒng)中還用到了數(shù)據(jù)庫的存儲過程,在本數(shù)據(jù)庫中我建立了關(guān)于指定某個(gè)學(xué)號的“學(xué)生成績查詢〞的存儲過程,這樣學(xué)生只需要輸入自己的學(xué)號就可以查詢出自己所選的科目以與其相應(yīng)的成績, 存儲過程的編譯與其實(shí)現(xiàn)過程如下截圖所示: 其實(shí),觸發(fā)器就是一種特殊的存儲過程,這樣創(chuàng)建完成這些常用功能的存儲過程后它們被編譯后就能保存在數(shù)據(jù)庫中,它們就像函數(shù)一樣可以被反復(fù)調(diào)用,提高運(yùn)行速度。
23、 四、實(shí)驗(yàn)結(jié)果與分析 這次課程設(shè)計(jì)我選擇的是設(shè)計(jì)“教務(wù)管理系統(tǒng)〞的數(shù)據(jù)庫,通過本次自己獨(dú)立的設(shè)計(jì)一個(gè)數(shù)據(jù)庫,使我更清楚了設(shè)計(jì)數(shù)據(jù)庫的步驟,通過一步步的分析、操作、實(shí)施,理論聯(lián)系實(shí)際,把課堂上所學(xué)的知識綜合的運(yùn)用起來,不僅加深了對SQL語句的理解,而且提高了對所學(xué)知識的熟練運(yùn)用程度。 在實(shí)驗(yàn)過程中,我了解到創(chuàng)建表時(shí)也需要注意一些我們常常容易忽略的問題,例如建表的順序問題,因?yàn)橐恍┍砀裰械膶傩粤械耐暾砸诹硪恍┍淼膶傩粤械母咨蟿?chuàng)建的,所以,這就確定了創(chuàng)建表的一定的順序問題,如果不按照這個(gè)順序建表,如此建表必然失敗。 另外,在創(chuàng)建表的同時(shí)還得注意每個(gè)屬性的數(shù)據(jù)類型,這個(gè)細(xì)節(jié)
24、問題也是我們常常忽略的問題,對每個(gè)屬性列都要根據(jù)實(shí)際情況確定相應(yīng)的數(shù)據(jù)類型,并定義一定的長度大小,以提高空間利用率。 我在本次作業(yè)中的另一收獲是明確了觸發(fā)器中rollback語句的正確用法,當(dāng)觸發(fā)器所設(shè)定的操作能正確執(zhí)行時(shí)就不需要添加rollback語句,而當(dāng)觸發(fā)器所設(shè)定的操作不能完成時(shí)需要用rollback語句回滾,并給出相應(yīng)的提示信息。 最后,在本次作業(yè)中,我更正了以前對觸發(fā)器與存儲過程的認(rèn)識誤區(qū),以前錯(cuò)誤的認(rèn)為觸發(fā)器也是一個(gè)表格,并且可以通過更改觸發(fā)器的容來更改目的表格的容,其實(shí),觸發(fā)器就是一種特殊的存儲過程,觸發(fā)器以與存儲過程就是一段代碼,存儲過程執(zhí)行一遍后,駐留在高速緩沖中,再
25、使用只需調(diào)用,無需編譯,它們就像一個(gè)編譯好的函數(shù)一樣,只需調(diào)用即可,這樣存儲過程降低了客戶機(jī)和服務(wù)器之間的通信量,方便了用戶的使用。 這次大作業(yè)中,我從需求分析到概念結(jié)構(gòu)設(shè)計(jì),到邏輯結(jié)構(gòu)設(shè)計(jì),再到物理結(jié)構(gòu)設(shè)計(jì),最后到數(shù)據(jù)庫的實(shí)施和維護(hù),每一步都認(rèn)真的分析和實(shí)施。在一些步驟中可能思考的不夠縝密,對某些方面可能有些疏漏之處,這就要求我們查詢更多的信息,理論充分聯(lián)系實(shí)際,多多參與實(shí)際數(shù)據(jù)庫的創(chuàng)建,在實(shí)踐中積累經(jīng)驗(yàn),不斷學(xué)習(xí),提高自己在數(shù)據(jù)庫方面的能力。 教 師 評 價(jià) 評定項(xiàng)目 A B C D 評定項(xiàng)目 A B C D 需求分析清楚
26、 完整性設(shè)計(jì) 概念結(jié)構(gòu)符合需求 數(shù)據(jù)庫編程的使用 邏輯結(jié)構(gòu)設(shè)計(jì)合理 操作熟練 索引設(shè)計(jì) 文字流暢 安全性設(shè)計(jì) 報(bào)告規(guī) 其他: 評價(jià)教師簽名: 年 月 日 相關(guān)代碼如下: -- 一、創(chuàng)建表 -- 建立系別表 CREATE TABLE sdept (Dno CHAR(10) PRIMARY KEY, Dname CHAR(20) UNIQUE, Dphone CHAR(20),
27、 ); -- 建立教師表 create table teacher (Tno CHAR(10) PRIMARY KEY, Tname CHAR(20) not null, Salary char(10), Tel CHAR(20), Email char(20), Dno CHAR(10) UNIQUE, FOREIGN KEY (Dno) REFERENCES Sdept(Dno) ); -- 建立班級表 CREATE TABLE class (Class CHAR(10) PRIMARY KEY, Ccredit BIGINT, T
28、no CHAR(10), Dno CHAR(10), FOREIGN KEY (Tno) REFERENCES Teacher(Tno) ON UPDATE CASCADE, FOREIGN KEY (Dno) REFERENCES Sdept(Dno) ); -- 建立學(xué)生表 CREATE TABLE student (Sno CHAR(10) PRIMARY KEY, Sname CHAR(20) NOT NULL, Ssex CHAR(2) CHECK(Ssex IN ('男','女')), Sage SMALLINT, Dno C
29、HAR(10), Class CHAR(10), FOREIGN KEY (Class) REFERENCES Class(Class) ); -- 建立課程表 CREATE TABLE course (o CHAR(10) PRIMARY KEY, ame CHAR(20) UNIQUE, Credit SMALLINT, Tno CHAR(10), um CHAR(10), FOREIGN KEY (Tno) REFERENCES Teacher(Tno) ON UPDATE CASCADE,
30、 ); -- 建立選課表 CREATE TABLE SC (Sno CHAR(10) , o CHAR(10), Grade SMALLINT CHECK(Grade>=0 AND Grade<=100), Daigrade SMALLINT CHECK(Daigrade>=0 AND Daigrade<=100), Midbrade SMALLINT CHECK(Midbrade>=0 AND Midbrade<=100), Lasgrade SMALLINT CHECK(Lasgrade>=0 AND Lasgrade<=100),
31、Fingrade SMALLINT CHECK(Fingrade>=0 AND Fingrade<=100), PRIMARY KEY (Sno, o), FOREIGN KEY (Sno) REFERENCES Student(Sno) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (o) REFERENCES Course(o) ON DELETE CASCADE ON UPDATE CASCADE, ); --二、創(chuàng)建視圖 --教師授課的分配視圖 create view DTC as select s
32、dept.Dno ,Dname,Tname,ame from sdept,teacher,course where sdept.Dno=teacher.Dno and --學(xué)生的學(xué)號、成績等信息查詢的視圖 create view V_student as select student.Sno,Sname,ame,Credit,grade from student,SC,course where student.Sno=SC.Sno and courseo=SCo --教師根本信息查詢的視圖 create view
33、V_teacher as select Tname,Dname,Tel from teacher,sdept where teacher.Dno=sdept.Dno --三、創(chuàng)建索引 --在教師表中系代號列上建立索引 create unique index teadno on teacher(Dno); --在學(xué)生表列上建立索引 create unique index stusname on student(sname); --四、創(chuàng)建用戶并對用戶的權(quán)限做相應(yīng)設(shè)置 --創(chuàng)建學(xué)生用戶 create login u1 with passwor
34、d='111' use 教務(wù)管理系統(tǒng) create user 學(xué)生 for login u1 --對學(xué)生用戶進(jìn)展授權(quán) grant select on student to 學(xué)生 grant select on V_student to 學(xué)生 grant select on DTC to 學(xué)生 grant select on V_teacher to 學(xué)生 --創(chuàng)建教師用戶 create login u2 with password='111' use 教務(wù)管理系統(tǒng) create user 教師 for login u2
35、--對教師用戶進(jìn)展授權(quán) grant select on student to 教師 grant select on DTC to 教師 grant select,update on teacher to 教師 grant select,insert,update(grade,daigrade,midbrade,lasgrade,fingrade) on SC to 教師 --創(chuàng)建教務(wù)管理員用戶 create login u3 with password='111' use 教務(wù)管理系統(tǒng) create user 教務(wù)處 for login u3
36、 --對教務(wù)管理員用戶進(jìn)展授權(quán) grant select,update,insert,delete on teacher to 教務(wù)處 grant select,update,insert,delete on student to 教務(wù)處 grant select,update,insert,delete on sdept to 教務(wù)處 grant select,update,insert,delete on class to 教務(wù)處 grant select,update,insert,delete on course to 教務(wù)處
37、--五、創(chuàng)建觸發(fā)器 --刪除教師信息觸發(fā)器 create trigger 刪除教師信息 on teacher for delete as if((select tno from deleted) in (select tno from course)) begin print'course表里有該教師的課程,請先刪除course表里的記錄!' rollback end --演示刪除教師信息觸發(fā)器的操作 delete from teacher where tno='04004' --刪除學(xué)生信息觸發(fā)器 create trigger 刪除學(xué)生信息
38、 on student for delete as if((select sno from deleted)in (select sno from sc)) begin print'SC表里有該學(xué)生的選課課程,請先刪除SC表里的記錄!' rollback end --演示刪除學(xué)生信息觸發(fā)器的操作 delete from student where sno='020312' --選課觸發(fā)器 create trigger 選課 on SC for insert as if((selecto from inserted) in (select o
39、from course) ) begin print'選課成功' end --演示執(zhí)行“選課〞觸發(fā)器 insert into SC(sno,o) values('020301','02') --刪除選課觸發(fā)器 create trigger 刪除選課 on SC for DELETE AS if((selecto from deleted) in (selecto from sc)) begin print'刪除選課成功' end --演示執(zhí)行“刪除選課〞觸發(fā)器 delete from sc where sno='010117'ando='03' --六、存儲過程 --查詢成績的存儲過程 CREATE PROCEDURE 查詢成績 sn char(10) as select student.sno,sname,ame,Credit,grade from student,course,SC where student.sno=sc.sno and courseo=sco and student.sno=sn --查詢學(xué)號為“010104〞的學(xué)生成績 exec 查詢成績 '010104' 20 / 20
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 空前嚴(yán)重的資本主義世界經(jīng)濟(jì)危機(jī)講義
- 丹田降脂丸推廣策劃OTC0427教學(xué)課件
- 專業(yè)代理公司組織架構(gòu)及崗位職責(zé)
- 宮頸癌術(shù)后輔助放射治療通用PPT課件
- 家庭常用醫(yī)療器械的使用課件
- 給圖形做標(biāo)記
- 高三政治人教版一輪復(fù)習(xí)課件:課時(shí)11經(jīng)濟(jì)全球化與對外開放共44張
- 五年級下冊英語Recycle1人教版課件
- 五年級上冊科學(xué)《母雞生蛋了》粵教版課件
- 二年級上冊道德與法治大家排好隊(duì)課件
- 復(fù)習(xí)課件工業(yè)革命
- 第六章組織文化
- 勤助上崗培訓(xùn)課件
- 南川中學(xué) 剪紙課件 第2課
- 華師大版九年級上冊課件:2312平行線分線段成比例