大數(shù)據(jù)庫 教務(wù)管理系統(tǒng) 綜合實驗資料報告材料

上傳人:仙*** 文檔編號:86882497 上傳時間:2022-05-08 格式:DOC 頁數(shù):20 大小:792KB
收藏 版權(quán)申訴 舉報 下載
大數(shù)據(jù)庫 教務(wù)管理系統(tǒng) 綜合實驗資料報告材料_第1頁
第1頁 / 共20頁
大數(shù)據(jù)庫 教務(wù)管理系統(tǒng) 綜合實驗資料報告材料_第2頁
第2頁 / 共20頁
大數(shù)據(jù)庫 教務(wù)管理系統(tǒng) 綜合實驗資料報告材料_第3頁
第3頁 / 共20頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《大數(shù)據(jù)庫 教務(wù)管理系統(tǒng) 綜合實驗資料報告材料》由會員分享,可在線閱讀,更多相關(guān)《大數(shù)據(jù)庫 教務(wù)管理系統(tǒng) 綜合實驗資料報告材料(20頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、word 華北科技學(xué)院計算機系綜合性實驗 實 驗 報 告 課程名稱 《數(shù)據(jù)庫系統(tǒng)A》 實驗學(xué)期 2011 至 2012 學(xué)年 第 2 學(xué)期 學(xué)生所在系部 計算機學(xué)院 年級 2010 專業(yè)班級 網(wǎng)絡(luò)B101班 學(xué)生學(xué)號 任課教師 實驗成績 計算機系制 《數(shù)據(jù)庫系統(tǒng)A》課程綜合性實驗報告 開課實驗室:軟件開發(fā)實驗室(一) 2012年6月 6日 實驗題目 《教

2、務(wù)管理系統(tǒng)》數(shù)據(jù)庫設(shè)計 一、實驗?zāi)康? 利用一種DBMS作為設(shè)計平臺,理解并應(yīng)用課程中關(guān)于數(shù)據(jù)庫設(shè)計的相關(guān)理論,能按照數(shù)據(jù)庫設(shè)計步驟完成完整的數(shù)據(jù)庫設(shè)計,包括需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計和實施。同時能夠正確應(yīng)用各個階段的典型工具進行表示。 二、設(shè)備與環(huán)境 (1) 硬件設(shè)備:PC機一臺 (2) 軟件環(huán)境:安裝Windows操作系統(tǒng),安裝數(shù)據(jù)庫管理系統(tǒng)SQL Server2008等。 三、實驗容 首先,通過調(diào)查,教務(wù)管理系統(tǒng)中主要有四類用戶,即學(xué)生用戶,老師用戶,教務(wù)管理員和系統(tǒng)管理員。對應(yīng)這些用戶,其處理要求的主要的功能就是進行一系列的查詢和各類數(shù)據(jù)的管理及維護。其

3、具體的處理要求如下: 1)系統(tǒng)管理:實現(xiàn)系統(tǒng)管理人員對系統(tǒng)的管理,包括添加刪除用戶,更改密碼,數(shù)據(jù)備份,數(shù)據(jù)還原,注銷等功能。 2)教務(wù)管理:實現(xiàn)教務(wù)管理人員對系統(tǒng)的管理,包括課程安排,成績審核,學(xué)生成績管理,學(xué)生學(xué)籍管理等功能。 3)基本信息:實現(xiàn)顯示學(xué)生和老師以及課程、班級、系別的基本信息(包括學(xué)生基本信息,教師基本信息,課程基本信息等)。 4)查詢:包括實現(xiàn)學(xué)生查詢,老師查詢。學(xué)生查詢包括自己的基本信息,自己的課程,課表,成績等,老師查詢包括查詢自己的信息,自己所帶班的學(xué)生,自己的課表以及學(xué)生成績等。 5)教師對成績的錄入以及自己信息的查詢與維護。 其次,該教務(wù)管理系統(tǒng)中,結(jié)

4、合以上用戶種類以及其具體的處理功能要求,教務(wù)管理系統(tǒng)要具備以下信息要求: 教務(wù)管理系統(tǒng)涉及的實體有: l 教師——工作證號、、、工資、; l 學(xué)生——學(xué)號、、性別、年齡、系代號等; l 班級——班號、最低總學(xué)分等; l 系——系代號、系名和系辦公室等; l 課程——課序號、課名、學(xué)分、最大人數(shù)等; 其中,這些實體之間的聯(lián)系如下: l 每個學(xué)生都屬于一個班,每個班都屬于一個系,每個教師也都屬于一個系。 l 每個班的班主任都由一名教師擔(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è)計中,我采用自底向上設(shè)計概念結(jié)構(gòu)的方法。即第一步抽象數(shù)據(jù)并設(shè)計局部視圖,第二步是集成局部視圖,得到全局的概念結(jié)構(gòu)。 該教務(wù)管理系統(tǒng)

6、中的局部概念模型(E-R圖)如下: (1)、一個系的關(guān)系模式圖: 1 n 1 n 1 n 教師 班級 屬于 最低總學(xué)分 班號 某某 工作證號 系 系辦公室 系名 系代號 屬于 工作 學(xué)生 學(xué)號 年齡 性別 某某 工資 系代號 (2)、選課系統(tǒng)的關(guān)系模式圖: 選修 期中成績 平時成績 最后成績 總評成績 期末成績 課序號 課名 學(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é)號 選修 平時成績 最后成績 總評成績 期中成績 期末成績 某某 n m 課程 學(xué)生

8、名額 性別 n 系代號 屬于 n 1 課名 班號 授課 班級 n 負(fù)責(zé) 最低總學(xué)分 n 屬于 1 1 1 工作 n 1 系 教師 工資 工作證號 某某 系代號 系名 系辦公室 (1)關(guān)系模式的設(shè)計與優(yōu)化 E-R圖向關(guān)系模型的轉(zhuǎn)換: a. “教師”實體對應(yīng)的關(guān)系模式: 教師(工作證號,,工資,,,系代號) 代碼表示為:Teacher(Tno. Tname. Salary. Tel. Email. Dno)

9、其中,工作證號為其候選碼,又因為教師與系別之間是n:1的工作關(guān)系,經(jīng)過與系別關(guān)系模式的合并后,系別號Dno成為教師關(guān)系模式的外碼,存在的關(guān)系依賴為Tno →( Tname,Salary,Tel,Email,Dno),不存在對候選碼的部分依賴與傳遞依賴,所以滿足BF。 b. “學(xué)生”實體對應(yīng)的關(guān)系模式: 學(xué)生(學(xué)號,,性別,年齡,班號,系代號) 代碼表示:Student ( Sno, Sname, Ssex, Sage. Class .Dno) 其中,學(xué)號為其候選碼,又因為學(xué)生與班級之間是n:1的屬于關(guān)系,經(jīng)過與班級 關(guān)系模式的合并后

10、,班號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é)號,課序號,最后成績,平時成績,期中成績,期末成績,總評成績) 代碼表示:SC ( Sno, o,Grade

11、. 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. “課程”實體對應(yīng)的關(guān)系模式: 課程(課序號,課名,學(xué)分,名額,工作證號) 代碼表示:Course ( o, ame, Credit, um, Tno ) 其中,課號為其候選碼,又由于課程與教師之間是n:1的授課關(guān)系,所以經(jīng)過關(guān)系模式的合并

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

13、lass →(Ccredit, Tno.Dno ),其中Class →Tno,而Tno →Dno,即存在對候選碼的傳遞依賴,所以只滿足2NF。 (2)設(shè)計合適的視圖 在將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)信息的查詢和教師基本信息的查詢等三個視圖,這樣,對這些經(jīng)常使用的查詢,用戶就可以通過視圖來查詢,

14、大大簡化了用戶的使用。 創(chuàng)建的三個視圖的截圖如下: 教師授課安排視圖: 學(xué)生成績查詢視圖: 教師基本信息查詢視圖: 該數(shù)據(jù)庫中每一個關(guān)系模式的主碼分別為系統(tǒng)自動設(shè)置的索引,如學(xué)生關(guān)系模式中的學(xué)號,教師關(guān)系模式中的工作證號,系別中的系別號等,同時,通過對實際操作的思考,為了查詢某系的老師的方便,我們還需要在Teacher表中建立一個“系代號”Dno的索引;又因為查詢操作很多都通過學(xué)生查找的,所以還需要在Student表列sname上建立一個索引等,這樣大大簡化查詢操作。 (1)創(chuàng)建庫、表 在該教務(wù)管理系統(tǒng)中包括了學(xué)生表、教師表、選課表

15、、系別表、班級表、課程表、教師與班級的聯(lián)系表等多個表。在此,我以學(xué)生表為例進行說明表的創(chuàng)建。 一個完整的表必須包括對實體完整性、參照完整性、用戶定義完整性的三種完整性的定義。 在學(xué)生表中,首先考慮表的實體完整性要求,在該學(xué)生表中學(xué)號被設(shè)為主碼,用PRIMARY KEY定義,且該表含有多個屬性,所以學(xué)號就是表級約束條件,從而完成了學(xué)生表的實體完整性的定義。 其次,對于學(xué)生表的參照完整性,系號(Dno)、班號(Class)是該學(xué)生表的外碼,同時它還是班級系別Sdept表、Class表的主碼,所以對其用FOREING KEY短語進行定義,并用REFERENCES短語指明該外碼是參照那些表的主

16、碼,從而完成對表的參照完整性的定義。 最后,是表的用戶定義完整性,在該學(xué)生表中,結(jié)合實際情況我們不難想到應(yīng)該定義一個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 NULL, Ssex CHAR(2) C

17、HECK(Ssex IN ('男','女')), Sage SMALLINT, Dno CHAR(10), Class CHAR(10), FOREIGN KEY (Class) REFERENCES Class(Class) ); 創(chuàng)建的學(xué)生表截圖如下: 另外,在創(chuàng)建表的同時還要注意有時需要創(chuàng)建兩個表之間的級聯(lián),例如,此教務(wù)管理系統(tǒng)中SC表是參照學(xué)生表的學(xué)號和課程表的課號建立的,所以應(yīng)該在SC表中建立其與Student表與Course表的級聯(lián);課程表又是參照教師表中的教師

18、工作證號建立的,所以應(yīng)該建立一個course表與教師teacher表的級聯(lián);班級表也是參照教師表中的教師工作證號建立的,所以也應(yīng)該建立一個class表與教師teacher表的級聯(lián),這樣當(dāng)參照表發(fā)生改變時能同時在目標(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表的權(quán)限,以及查詢教師授課分配圖DTC表的

19、權(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ā)器及存儲過程并對各個用戶進行相應(yīng)授權(quán)的權(quán)力。 (3)使用觸發(fā)器、存儲過程等相關(guān)技術(shù)。 在教務(wù)管理數(shù)據(jù)庫中,鑒于存在教師的退休及學(xué)生退學(xué)或畢業(yè)的情況,所以必然會有刪除這些信息的操作,為了方便起見,所以有必要設(shè)計一個“刪除教師信息”觸發(fā)器以及“刪除學(xué)生信息”觸發(fā)器。同時教務(wù)管理系統(tǒng)的數(shù)據(jù)庫必然涉及到學(xué)

20、生選課退課的問題,所以還需要設(shè)計一個關(guān)于選課退課系統(tǒng)的“選課”觸發(fā)器與“刪除選課”觸發(fā)器。 “刪除教師信息”與“刪除學(xué)生信息”觸發(fā)器的過程大致相同,就“刪除教師信息”觸發(fā)器來說,當(dāng)刪除教師時如果該教師在course表中有其授課信息,則當(dāng)刪除該教師后必會引起course表不可用,所以創(chuàng)建的該觸發(fā)器當(dāng)所要刪除的教師號存在于course表里時,系統(tǒng)就應(yīng)該給出“course表里有該教師的課程,請先刪除course表里的記錄!”的提示信息;就“刪除學(xué)生信息”觸發(fā)器來說,如果該學(xué)生退學(xué)時在選課表里仍有其選課記錄,則當(dāng)刪除該學(xué)生信息后,在SC表里的相關(guān)選課記錄必然成為無效,所以在此設(shè)置了一個判斷即將退學(xué)的

21、學(xué)生是否能刪除的觸發(fā)器,當(dāng)退學(xué)學(xué)生在SC表里有該學(xué)生的記錄時應(yīng)該給出“SC表里有該學(xué)生的選課課程,請先刪除SC表里的記錄!”的信息提示。 “刪除教師信息”觸發(fā)器操作演示如下所示: “選課”與“刪除選課”觸發(fā)器的過程大致相同,就“選課”觸發(fā)器來說當(dāng)所選課程的課程號存在于課程表里時,系統(tǒng)就會將該條的選課記錄添加到SC表中,并給出“選課成功”的信息提示,同樣刪除選課與此類似,當(dāng)要刪除的選課的課程號存在于SC表時,系統(tǒng)就會將該條的選課記錄從SC表中刪除,并給出“刪除選課成功”的信息提示。 演示執(zhí)行“選課”觸發(fā)器的操作結(jié)果截圖如下: 這樣在進行這些相關(guān)數(shù)據(jù)的處理時就可以

22、通過觸發(fā)器來控制,如果觸發(fā)動作體執(zhí)行失敗,激活觸發(fā)器的事件就會終止執(zhí)行,觸發(fā)器的目標(biāo)表或觸發(fā)器可能影響的其他對象不發(fā)生變化。 除了創(chuàng)建相應(yīng)觸發(fā)器外,教務(wù)管理系統(tǒng)中還用到了數(shù)據(jù)庫的存儲過程,在本數(shù)據(jù)庫中我建立了關(guān)于指定某個學(xué)號的“學(xué)生成績查詢”的存儲過程,這樣學(xué)生只需要輸入自己的學(xué)號就可以查詢出自己所選的科目以及其相應(yīng)的成績, 存儲過程的編譯及其實現(xiàn)過程如下截圖所示: 其實,觸發(fā)器就是一種特殊的存儲過程,這樣創(chuàng)建完成這些常用功能的存儲過程后它們被編譯后就能保存在數(shù)據(jù)庫中,它們就像函數(shù)一樣可以被反復(fù)調(diào)用,提高運行速度。 四、實驗結(jié)果及分析 這次課程設(shè)計我

23、選擇的是設(shè)計“教務(wù)管理系統(tǒng)”的數(shù)據(jù)庫,通過本次自己獨立的設(shè)計一個數(shù)據(jù)庫,使我更清楚了設(shè)計數(shù)據(jù)庫的步驟,通過一步步的分析、操作、實施,理論聯(lián)系實際,把課堂上所學(xué)的知識綜合的運用起來,不僅加深了對SQL語句的理解,而且提高了對所學(xué)知識的熟練運用程度。 在實驗過程中,我了解到創(chuàng)建表時也需要注意一些我們常常容易忽略的問題,例如建表的順序問題,因為一些表格中的屬性列的完整性要在另一些表的屬性列的基礎(chǔ)上創(chuàng)建的,所以,這就確定了創(chuàng)建表的一定的順序問題,如果不按照這個順序建表,則建表必然失敗。 另外,在創(chuàng)建表的同時還得注意每個屬性的數(shù)據(jù)類型,這個細節(jié)問題也是我們常常忽略的問題,對每個屬性列都要根據(jù)

24、實際情況確定相應(yīng)的數(shù)據(jù)類型,并定義一定的長度大小,以提高空間利用率。 我在本次作業(yè)中的另一收獲是明確了觸發(fā)器中rollback語句的正確用法,當(dāng)觸發(fā)器所設(shè)定的操作能正確執(zhí)行時就不需要添加rollback語句,而當(dāng)觸發(fā)器所設(shè)定的操作不能完成時需要用rollback語句回滾,并給出相應(yīng)的提示信息。 最后,在本次作業(yè)中,我更正了以前對觸發(fā)器及存儲過程的認(rèn)識誤區(qū),以前錯誤的認(rèn)為觸發(fā)器也是一個表格,并且可以通過更改觸發(fā)器的容來更改目的表格的容,其實,觸發(fā)器就是一種特殊的存儲過程,觸發(fā)器以及存儲過程就是一段代碼,存儲過程執(zhí)行一遍后,駐留在高速緩沖中,再使用只需調(diào)用,無需編譯,它們就像一個編譯好的函數(shù)

25、一樣,只需調(diào)用即可,這樣存儲過程降低了客戶機和服務(wù)器之間的通信量,方便了用戶的使用。 這次大作業(yè)中,我從需求分析到概念結(jié)構(gòu)設(shè)計,到邏輯結(jié)構(gòu)設(shè)計,再到物理結(jié)構(gòu)設(shè)計,最后到數(shù)據(jù)庫的實施和維護,每一步都認(rèn)真的分析和實施。在一些步驟中可能思考的不夠縝密,對某些方面可能有些疏漏之處,這就要求我們查詢更多的信息,理論充分聯(lián)系實際,多多參與實際數(shù)據(jù)庫的創(chuàng)建,在實踐中積累經(jīng)驗,不斷學(xué)習(xí),提高自己在數(shù)據(jù)庫方面的能力。 教 師 評 價 評定項目 A B C D 評定項目 A B C D 需求分析清楚 完整性設(shè)計 概念結(jié)構(gòu)

26、符合需求 數(shù)據(jù)庫編程的使用 邏輯結(jié)構(gòu)設(shè)計合理 操作熟練 索引設(shè)計 文字流暢 安全性設(shè)計 報告規(guī) 其他: 評價教師簽名: 年 月 日 相關(guān)代碼如下: -- 一、創(chuàng)建表 -- 建立系別表 CREATE TABLE sdept (Dno CHAR(10) PRIMARY KEY, Dname CHAR(20) UNIQUE, Dphone CHAR(20), ); -- 建立教師表 cre

27、ate 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, Tno CHAR(10), Dno CHAR(1

28、0), 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 CHAR(10),

29、 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), Fingrade SMALLINT CHECK(

31、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 sdept.Dno ,Dname,Tname,am

32、e 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 course.o=SC.o --教師基本信息查詢的視圖 create view V_teacher as sele

33、ct 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 password='111' use 教務(wù)管理系統(tǒng) c

34、reate user 學(xué)生 for login u1 --對學(xué)生用戶進行授權(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 --對教師用戶進行授權(quán) grant sel

35、ect 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 --對教務(wù)管理員用戶進行授權(quán) gr

36、ant 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ù)處 --五、創(chuàng)建觸發(fā)器 --刪除教師信息觸發(fā)器

37、 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é)生信息 on student for delet

38、e 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 from course) ) begin

39、 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 course.o=sc.o 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!