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

上傳人:痛*** 文檔編號:83283152 上傳時間:2022-05-01 格式:DOC 頁數(shù):20 大?。?93KB
收藏 版權(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ù)復(fù)原,注銷等功能。 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ù)管理

6、系統(tǒng)中的局部概念模型〔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)系模型圖: 課名 班級 負責(zé) 最低總學(xué)分 班號 教師 工資 某某 工作證號 n 1 該教務(wù)管理系統(tǒng)中的全局概念模型〔E-R圖〕為: 課序號 課名 學(xué)分 年齡 學(xué)號 選修 平時成績 最后成績 總評成績 期中成績 期末成績 某某 n m

8、 課程 學(xué)生 名額 性別 n 系代號 屬于 n 1 課名 班號 授課 班級 n 負責(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.

9、 Tel. Email. Dno〕 其中,工作證號為其候選碼,又因為教師與系別之間是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)過與

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é)號,課序號,最后成績,平時成績,期中成績,期末成績,總評成績〕 代碼

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. “課程〞實體對應(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. “班級〞實體對應(yīng)的關(guān)系模式: 班級〔班號,最低總學(xué)分,工作證號,系代號〕 代碼表示:Class ( Class, Ccredit, Tno. Dno ) 其中,班號為其候選碼,又由于班級與系別之間是n:1的“屬于〞關(guān)系,經(jīng)過“班級〞與“系別〞兩個實體關(guān)系模式的合并后,系號被合并為班級對應(yīng)的關(guān)系模式的外碼。而班級與教師之間是n:1的“負責(zé)〞關(guān)系,所以按照規(guī)定,教師的工作證號

13、也被合并為班級的外碼。存在的函數(shù)依賴為Class →〔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)建庫、表 在該教

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

16、ENCES短語指明該外碼是參照那些表的主碼,從而完成對表的參照完整性的定義。 最后,是表的用戶定義完整性,在該學(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 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)建表的同時還要注意有時需要創(chuàng)建兩個表之間的級聯(lián),例如,此教務(wù)管理系統(tǒng)中SC表是參照學(xué)生表的學(xué)號和課程表的課號建立的,所以應(yīng)該在SC表中建立其與Student表與Cours

18、e表的級聯(lián);課程表又是參照教師表中的教師工作證號建立的,所以應(yīng)該建立一個course表與教師teacher表的級聯(lián);班級表也是參照教師表中的教師工作證號建立的,所以也應(yīng)該建立一個class表與教師teacher表的級聯(lián),這樣當(dāng)參照表發(fā)生改變時能同時在目標表中也發(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ā)器與存儲過程并對各個用戶進展相應(yīng)授權(quán)的權(quán)力。 (3)使用觸發(fā)器、存儲過程等相關(guān)技術(shù)。 在教務(wù)管理數(shù)據(jù)庫中,鑒于存在教師的退休與學(xué)生退學(xué)或畢業(yè)的情況,所以必然會有刪除這些信息的操作,為了方便起見,所以有必要設(shè)計一個“刪除教師信息〞觸發(fā)器以與“刪除學(xué)生信息〞觸

20、發(fā)器。同時教務(wù)管理系統(tǒng)的數(shù)據(jù)庫必然涉與到學(xué)生選課退課的問題,所以還需要設(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)選課記錄

21、必然成為無效,所以在此設(shè)置了一個判斷即將退學(xué)的學(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é)果截圖如下:

22、 這樣在進展這些相關(guān)數(shù)據(jù)的處理時就可以通過觸發(fā)器來控制,如果觸發(fā)動作體執(zhí)行失敗,激活觸發(fā)器的事件就會終止執(zhí)行,觸發(fā)器的目標表或觸發(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)用,提高運行速度。

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

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

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

26、 完整性設(shè)計 概念結(jié)構(gòu)符合需求 數(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),

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é)生用戶進展授權(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、--對教師用戶進展授權(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ù)管理員用戶進展授權(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(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),我們立即給予刪除!