數(shù)據(jù)庫 教務管理系統(tǒng) 綜合實驗報告
《數(shù)據(jù)庫 教務管理系統(tǒng) 綜合實驗報告》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫 教務管理系統(tǒng) 綜合實驗報告(25頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 真誠為您提供優(yōu)質(zhì)參考資料,若有不當之處,請指正。 華北科技學院計算機系綜合性實驗 實 驗 報 告 課程名稱 《數(shù)據(jù)庫系統(tǒng)A》 實驗學期 2011 至 2012 學年 第 2 學期 學生所在系部 計算機學院 年級 2010 專業(yè)班級 網(wǎng)絡B101班 學生姓名 學號 任課教師 實驗成績
2、 計算機系制 1 / 25 《數(shù)據(jù)庫系統(tǒng)A》課程綜合性實驗報告 開課實驗室:軟件開發(fā)實驗室(一) 2012年6月 6日 實驗題目 《教務管理系統(tǒng)》數(shù)據(jù)庫設(shè)計 一、實驗目的 利用一種DBMS作為設(shè)計平臺,理解并應用課程中關(guān)于數(shù)據(jù)庫設(shè)計的相關(guān)理論,能按照數(shù)據(jù)庫設(shè)計步驟完成完整的數(shù)據(jù)庫設(shè)計,包括需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計和實施。同時能夠正確應用各個階段的典型工具進行表示。 二、設(shè)備與環(huán)境 (1) 硬件設(shè)備:PC機一臺 (2
3、) 軟件環(huán)境:安裝Windows操作系統(tǒng),安裝數(shù)據(jù)庫管理系統(tǒng)SQL Server2008等。 三、實驗內(nèi)容 1.需求分析 首先,通過調(diào)查,教務管理系統(tǒng)中主要有四類用戶,即學生用戶,老師用戶,教務管理員和系統(tǒng)管理員。對應這些用戶,其處理要求的主要的功能就是進行一系列的查詢和各類數(shù)據(jù)的管理及維護。其具體的處理要求如下: 1)系統(tǒng)管理:實現(xiàn)系統(tǒng)管理人員對系統(tǒng)的管理,包括添加刪除用戶,更改密碼,數(shù)據(jù)備份,數(shù)據(jù)還原,注銷等功能。 2)教務管理:實現(xiàn)教務管理人員對系統(tǒng)的管理,包括課程安排,成績審核,學生成績管理,學生學籍管理等功能。 3)基本信息:實現(xiàn)顯示學生和老師以及課程、班級、系別的基本信
4、息(包括學生基本信息,教師基本信息,課程基本信息等)。 4)查詢:包括實現(xiàn)學生查詢,老師查詢。學生查詢包括自己的基本信息,自己的課程,課表,成績等,老師查詢包括查詢自己的信息,自己所帶班的學生,自己的課表以及學生成績等。 5)教師對成績的錄入以及自己信息的查詢與維護。 其次,該教務管理系統(tǒng)中,結(jié)合以上用戶種類以及其具體的處理功能要求,教務管理系統(tǒng)要具備以下信息要求: 教務管理系統(tǒng)涉及的實體有: l 教師——工作證號、姓名、電話、工資、郵箱; l 學生——學號、姓名、性別、年齡、系代號等; l 班級——班號、最低總學分等; l 系——系代號、系名和系辦公室電話等; l
5、課程——課序號、課名、學分、最大人數(shù)等; 其中,這些實體之間的聯(lián)系如下: l 每個學生都屬于一個班,每個班都屬于一個系,每個教師也都屬于一個系。 l 每個班的班主任都由一名教師擔任 l 一名教師可以教多門課,一門課可以有幾位主講老師,但不同老師講的同一門課其課序號是不同的(課序號是唯一的)。 l 一名同學可以選多門課,一門課可被若干同學選中。 l 一名同學選中的課若已學完,應該記錄有相應成績。 l 本單位學生、教師都有重名,工作證號、學號唯一。 另外,對于教務管理系統(tǒng)需求分析的安全性及完整性要求,首先,安全性方面,系統(tǒng)應對不同用戶設(shè)置不同的權(quán)限,例如,學生用戶不能隨意更
6、改自己的成績信息等,從而保障數(shù)據(jù)庫數(shù)據(jù)的安全。其次,完整性方面,要求各種信息記錄的完整性,關(guān)鍵信息記錄內(nèi)容不能為空;各種數(shù)據(jù)間相互的聯(lián)系的正確性;相同的數(shù)據(jù)在不同記錄中的一致性等。 2.概念結(jié)構(gòu)設(shè)計 在概念結(jié)構(gòu)設(shè)計中,我采用自底向上設(shè)計概念結(jié)構(gòu)的方法。即第一步抽象數(shù)據(jù)并設(shè)計局部視圖,第二步是集成局部視圖,得到全局的概念結(jié)構(gòu)。 該教務管理系統(tǒng)中的局部概念模型(E-R圖)如下: (1)、一個系內(nèi)的關(guān)系模式圖: 1 n 1 n 1 n 教師 班級 屬于 最低總學分 班號 電話 郵箱 姓名 工作證號 系 系辦公室電話 系名 系代號 屬于 工作
7、 學生 學號 年齡 性別 姓名 工資 系代號 (2)、選課系統(tǒng)的關(guān)系模式圖: 選修 期中成績 平時成績 最后成績 總評成績 期末成績 課序號 課名 學分 年齡 學號 n m 姓名 課程 學生 名額 性別 系代號 課序號 課名 (3)、教師授課系統(tǒng)關(guān)系模型圖: 授課 工資 教師 電話 郵箱 姓名 工作證號 課程 n 1 學分 名額 (4)、教師與班級部分的關(guān)系模型圖: 課名 班級 負責 最低總學分 班號 教
8、師 電話 工資 姓名 工作證號 n 1 郵箱 該教務管理系統(tǒng)中的全局概念模型(E-R圖)為: 課序號 課名 學分 年齡 學號 選修 平時成績 最后成績 總評成績 期中成績 期末成績 姓名 n m 課程 學生 名額 性別 n 系代號 屬于 n 1 課名 班號 授課 班級 n 負責 最低總學分 n 屬于 1 1 1 工作 n 1 系 教師 工資 郵箱 電話 工作證號 姓名 系代號 系名 系辦公
9、室電話 3.邏輯結(jié)構(gòu)設(shè)計 (1)關(guān)系模式的設(shè)計與優(yōu)化 E-R圖向關(guān)系模型的轉(zhuǎn)換: a. “教師”實體對應的關(guān)系模式: 教師(工作證號,姓名,工資,電話,郵箱,系代號) 代碼表示為:Teacher(Tno. Tname. Salary. Tel. Email. Dno) 其中,工作證號為其候選碼,又因為教師與系別之間是n:1的工作關(guān)系,經(jīng)過與系別關(guān)系模式的合并后,系別號Dno成為教師關(guān)系模式的外碼,存在的關(guān)系依賴為Tno →( Tname,Salary,Tel,Email,Dno),不存在對候選碼的部分依賴與傳遞依賴,所以滿足BCNF。 b. “學生
10、”實體對應的關(guān)系模式: 學生(學號,姓名,性別,年齡,班號,系代號) 代碼表示:Student ( Sno, Sname, Ssex, Sage. Class .Dno) 其中,學號為其候選碼,又因為學生與班級之間是n:1的屬于關(guān)系,經(jīng)過與班級 關(guān)系模式的合并后,班號Class成為學生關(guān)系模式的外碼,存在的關(guān)系依賴為Sno →(Sname,Ssex.Sage.Class. Dno),Class →Dno,存在對候選碼的傳遞依賴,所以滿足2NF. c. 系(系代號,系名,系辦公室電話) 代碼
11、表示:Sdept ( Dno, Dname, Dphone ) 系代號為候選碼,存在的函數(shù)依賴為Dno → (Dname,Dphone),且不存在部分依 賴與傳遞依賴,所以滿足BCNF。 d. “選修”聯(lián)系對應的關(guān)系模式: 選課(學號,課序號,最后成績,平時成績,期中成績,期末成績,總評成績) 代碼表示:SC ( Sno, Cno,Grade. Daigrade. Midbrade. Lasgrade. Fingrade ) 此為m:n聯(lián)系“選修”所對應的關(guān)系模式。Sno和Cno均為外碼。存在的函數(shù)依 賴為完全函數(shù)依賴(Sno,Cno) → (Grade
12、.Daigrade. Midbrade. Lasgrade. Fingrade),且不存在部分依賴與傳遞依賴,所以滿足BCNF。 e. “課程”實體對應的關(guān)系模式: 課程(課序號,課名,學分,名額,工作證號) 代碼表示:Course ( Cno, Cname, Credit, Cnum, Tno ) 其中,課號為其候選碼,又由于課程與教師之間是n:1的授課關(guān)系,所以經(jīng)過關(guān)系模式的合并后,教師的工作證號被合并為課程關(guān)系模式中的外碼。存在的函數(shù)依賴為Cno → (Cname,Credit,Cnum,Tno),且不存在對候選碼的部分依賴和傳遞依賴,所以,滿足BCNF。 f. “班級”實
13、體對應的關(guān)系模式: 班級(班號,最低總學分,工作證號,系代號) 代碼表示:Class ( Class, Ccredit, Tno. Dno ) 其中,班號為其候選碼,又由于班級與系別之間是n:1的“屬于”關(guān)系,經(jīng)過“班級”與“系別”兩個實體關(guān)系模式的合并后,系號被合并為班級對應的關(guān)系模式的外碼。而班級與教師之間是n:1的“負責”關(guān)系,所以按照規(guī)定,教師的工作證號也被合并為班級的外碼。存在的函數(shù)依賴為Class →(Ccredit, Tno.Dno ),其中Class →Tno,而Tno →Dno,即存在對候選碼的傳遞依賴,所以只滿足2NF。 (2)設(shè)計合適的視圖 在將E-R圖
14、向關(guān)系模型轉(zhuǎn)換后,還應根據(jù)局部應用的需求,對不同級別的用戶定義不同的視圖,這樣不僅可以在視圖中重新定義某些屬性名,使用戶使用更方便,而且還可以通過視圖保證系統(tǒng)的安全性。 在本次的教務管理系統(tǒng)數(shù)據(jù)庫中,我針對使用該數(shù)據(jù)庫最頻繁的學生和教師用戶建立了相關(guān)視圖,其中包括對系別、教師、課程的分配視圖;對學生學號、成績、等相關(guān)信息的查詢和教師基本信息的查詢等三個視圖,這樣,對這些經(jīng)常使用的查詢,用戶就可以通過視圖來查詢,大大簡化了用戶的使用。 創(chuàng)建的三個視圖的截圖如下: 教師授課安排視圖: 學生成績查詢視圖: 教師基本信息查詢視圖: 4.物理設(shè)計
15、 該數(shù)據(jù)庫中每一個關(guān)系模式的主碼分別為系統(tǒng)自動設(shè)置的索引,如學生關(guān)系模式中的學號,教師關(guān)系模式中的工作證號,系別中的系別號等,同時,通過對實際操作的思考,為了查詢某系的老師的方便,我們還需要在Teacher表中建立一個“系代號”Dno的索引;又因為查詢操作很多都通過學生姓名查找的,所以還需要在Student表姓名列sname上建立一個索引等,這樣大大簡化查詢操作。 5.數(shù)據(jù)庫的實現(xiàn) (1)創(chuàng)建庫、表 在該教務管理系統(tǒng)中包括了學生表、教師表、選課表、系別表、班級表、課程表、教師與班級的聯(lián)系表等多個表。在此,我以學生表為例進行說明表的創(chuàng)建。 一個完整的表必須包括對實體完整性、參照完整性、用
16、戶定義完整性的三種完整性的定義。 在學生表中,首先考慮表的實體完整性要求,在該學生表中學號被設(shè)為主碼,用PRIMARY KEY定義,且該表含有多個屬性,所以學號就是表級約束條件,從而完成了學生表的實體完整性的定義。 其次,對于學生表的參照完整性,系號(Dno)、班號(Class)是該學生表的外碼,同時它還是班級系別Sdept表、Class表的主碼,所以對其用FOREING KEY短語進行定義,并用REFERENCES短語指明該外碼是參照那些表的主碼,從而完成對表的參照完整性的定義。 最后,是表的用戶定義完整性,在該學生表中,結(jié)合實際情況我們不難想到應該定義一個姓名Sname為非空的約束
17、條件和性別Ssex只能為“男”或“女”二者選其一的約束條件,其中姓名的非空用UNIQE定義即可,而性別用CHECK語句定義即可。 此外,除了對這三種完整性性要求的定義外,再加上該表中的一些其他的屬性列如年齡Sage的創(chuàng)建,從而共同完成了學生表的創(chuàng)建。 創(chuàng)建學生表的代碼為: CREATE TABLE student (Sno CHAR(10) PRIMARY KEY, Sname CHAR(20) NOT NULL, Ssex CHAR(2) CHECK(Ssex IN (男,女)), Sage SMALLINT, Dno CHAR(10),
18、 Class CHAR(10), FOREIGN KEY (Class) REFERENCES Class(Class) ); 創(chuàng)建的學生表截圖如下: 另外,在創(chuàng)建表的同時還要注意有時需要創(chuàng)建兩個表之間的級聯(lián),例如,此教務管理系統(tǒng)中SC表是參照學生表的學號和課程表的課號建立的,所以應該在SC表中建立其與Student表與Course表的級聯(lián);課程表又是參照教師表中的教師工作證號建立的,所以應該建立一個course表與教師teacher表的級聯(lián);班級表也是參照教師表中的教師工作證號建立的,所以也應該建立一個class表與教師teacher表的級
19、聯(lián),這樣當參照表發(fā)生改變時能同時在目標表中也發(fā)生相應改變,保證數(shù)據(jù)庫中數(shù)據(jù)的正確有效性。 (2)創(chuàng)建用戶 該教務管理系統(tǒng)的主要用戶有學生用戶,老師用戶,教務管理員和系統(tǒng)管理員等四種,所以需要創(chuàng)建這四種類型的用戶,并授予其相應的權(quán)限。 對于學生用戶就只能授予其查詢學生基本信息student表的權(quán)限,老師相關(guān)信息視圖V-teacher表的權(quán)限,查詢學生成績視圖V_student表的權(quán)限,以及查詢教師授課分配圖DTC表的權(quán)限; 教師則具有查詢學生基本信息Student表的權(quán)限,查詢教師授課的視圖DTC表的權(quán)限,還具有修改自己基本信息teacher表的權(quán)限,還有登記插入學生成績信息即修改SC表
20、的權(quán)限; 教務管理員具有修改本系一切相關(guān)信息的權(quán)力,包括查詢、刪除、增添、修改,而系統(tǒng)管理員具有創(chuàng)建各種表、視圖、觸發(fā)器及存儲過程并對各個用戶進行相應授權(quán)的權(quán)力。 (3)使用觸發(fā)器、存儲過程等相關(guān)技術(shù)。 在教務管理數(shù)據(jù)庫中,鑒于存在教師的退休及學生退學或畢業(yè)的情況,所以必然會有刪除這些信息的操作,為了方便起見,所以有必要設(shè)計一個“刪除教師信息”觸發(fā)器以及 “刪除學生信息”觸發(fā)器。同時教務管理系統(tǒng)的數(shù)據(jù)庫必然涉及到學生選課退課的問題,所以還需要設(shè)計一個關(guān)于選課退課系統(tǒng)的“選課”觸發(fā)器與“刪除選課”觸發(fā)器。 “刪除教師信息”與“刪除學生信息”觸發(fā)器的過程大致相同,就“刪除教師信
21、息”觸發(fā)器來說,當刪除教師時如果該教師在course表中有其授課信息,則當刪除該教師后必會引起course表不可用,所以創(chuàng)建的該觸發(fā)器當所要刪除的教師號存在于course表里時,系統(tǒng)就應該給出“course表里有該教師的課程,請先刪除course表里的記錄!”的提示信息;就“刪除學生信息”觸發(fā)器來說,如果該學生退學時在選課表里仍有其選課記錄,則當刪除該學生信息后,在SC表里的相關(guān)選課記錄必然成為無效,所以在此設(shè)置了一個判斷即將退學的學生是否能刪除的觸發(fā)器,當退學學生在SC表里有該學生的記錄時應該給出“SC表里有該學生的選課課程,請先刪除SC表里的記錄!”的信息提示。 “刪除教師信息”觸發(fā)器
22、操作演示如下所示: “選課”與“刪除選課”觸發(fā)器的過程大致相同,就“選課”觸發(fā)器來說當所選課程的課程號存在于課程表里時,系統(tǒng)就會將該條的選課記錄添加到SC表中,并給出“選課成功”的信息提示,同樣刪除選課與此類似,當要刪除的選課的課程號存在于SC表時,系統(tǒng)就會將該條的選課記錄從SC表中刪除,并給出“刪除選課成功”的信息提示。 演示執(zhí)行“選課”觸發(fā)器的操作結(jié)果截圖如下: 這樣在進行這些相關(guān)數(shù)據(jù)的處理時就可以通過觸發(fā)器來控制,如果觸發(fā)動作體執(zhí)行失敗,激活觸發(fā)器的事件就會終止執(zhí)行,觸發(fā)器的目標表或觸發(fā)器可能影響的其他對象不發(fā)生變化。 除了創(chuàng)建相應觸發(fā)器外,教務管理系統(tǒng)中還用
23、到了數(shù)據(jù)庫的存儲過程,在本數(shù)據(jù)庫中我建立了關(guān)于指定某個學號的“學生成績查詢”的存儲過程,這樣學生只需要輸入自己的學號就可以查詢出自己所選的科目以及其相應的成績, 存儲過程的編譯及其實現(xiàn)過程如下截圖所示: 其實,觸發(fā)器就是一種特殊的存儲過程,這樣創(chuàng)建完成這些常用功能的存儲過程后它們被編譯后就能保存在數(shù)據(jù)庫中,它們就像函數(shù)一樣可以被反復調(diào)用,提高運行速度。 四、實驗結(jié)果及分析 這次課程設(shè)計我選擇的是設(shè)計“教務管理系統(tǒng)”的數(shù)據(jù)庫,通過本次自己獨立的設(shè)計一個數(shù)據(jù)庫,使我更清楚了設(shè)計數(shù)據(jù)庫的步驟,通過一步步的分析、操作、實施,理論聯(lián)系實際,把課堂上所學的知識綜合的運用起來,不僅加深了對
24、SQL語句的理解,而且提高了對所學知識的熟練運用程度。 在實驗過程中,我了解到創(chuàng)建表時也需要注意一些我們常常容易忽略的問題,例如建表的順序問題,因為一些表格中的屬性列的完整性要求是在另一些表的屬性列的基礎(chǔ)上創(chuàng)建的,所以,這就確定了創(chuàng)建表的一定的順序問題,如果不按照這個順序建表,則建表必然失敗。 另外,在創(chuàng)建表的同時還得注意每個屬性的數(shù)據(jù)類型,這個細節(jié)問題也是我們常常忽略的問題,對每個屬性列都要根據(jù)實際情況確定相應的數(shù)據(jù)類型,并定義一定的長度大小,以提高空間利用率。 我在本次作業(yè)中的另一收獲是明確了觸發(fā)器中rollback語句的正確用法,當觸發(fā)器所設(shè)定的操作能正確執(zhí)行時就不
25、需要添加rollback語句,而當觸發(fā)器所設(shè)定的操作不能完成時需要用rollback語句回滾,并給出相應的提示信息。 最后,在本次作業(yè)中,我更正了以前對觸發(fā)器及存儲過程的認識誤區(qū),以前錯誤的認為觸發(fā)器也是一個表格,并且可以通過更改觸發(fā)器的內(nèi)容來更改目的表格的內(nèi)容,其實,觸發(fā)器就是一種特殊的存儲過程,觸發(fā)器以及存儲過程就是一段代碼,存儲過程執(zhí)行一遍后,駐留在高速緩沖中,再使用只需調(diào)用,無需編譯,它們就像一個編譯好的函數(shù)一樣,只需調(diào)用即可,這樣存儲過程降低了客戶機和服務器之間的通信量,方便了用戶的使用。 這次大作業(yè)中,我從需求分析到概念結(jié)構(gòu)設(shè)計,到邏輯結(jié)構(gòu)設(shè)計,再到物理結(jié)構(gòu)設(shè)計,最后
26、到數(shù)據(jù)庫的實施和維護,每一步都認真的分析和實施。在一些步驟中可能思考的不夠縝密,對某些方面可能有些疏漏之處,這就要求我們查詢更多的信息,理論充分聯(lián)系實際,多多參與實際數(shù)據(jù)庫的創(chuàng)建,在實踐中積累經(jīng)驗,不斷學習,提高自己在數(shù)據(jù)庫方面的能力。 教 師 評 價 評定項目 A B C D 評定項目 A B C D 需求分析清楚 完整性設(shè)計 概念結(jié)構(gòu)符合需求 數(shù)據(jù)庫編程的使用 邏輯結(jié)構(gòu)設(shè)計合理 操作熟練 索引設(shè)計 文字流暢 安全性設(shè)計
27、 報告規(guī)范 其他: 評價教師簽名: 年 月 日 相關(guān)代碼如下: -- 一、創(chuàng)建表 -- 建立系別表 CREATE TABLE sdept (Dno CHAR(10) PRIMARY KEY, Dname CHAR(20) UNIQUE, Dphone CHAR(20), ); -- 建立教師表 create table teacher (Tno CHAR(10) PRIMARY KEY, Tname CHAR(20) not null, Salary char(10), Tel CHAR(20)
28、, 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(10), FOREIGN KEY (Tno) REFERENCES Teacher(Tno) ON UPDATE CASCADE, FOREIGN KEY (Dno) REFERENCES S
29、dept(Dno) ); -- 建立學生表 CREATE TABLE student (Sno CHAR(10) PRIMARY KEY, Sname CHAR(20) NOT NULL, Ssex CHAR(2) CHECK(Ssex IN (男,女)), Sage SMALLINT, Dno CHAR(10), Class CHAR(10), FOREIGN KEY (Class) REFERENCES Class(Class) ); -- 建立課程表 CREATE TABLE c
30、ourse (Cno CHAR(10) PRIMARY KEY, Cname CHAR(20) UNIQUE, Credit SMALLINT, Tno CHAR(10), Cnum CHAR(10), FOREIGN KEY (Tno) REFERENCES Teacher(Tno) ON UPDATE CASCADE, ); -- 建立選課表 CREATE TABLE SC (Sno CHAR(10) , Cno CHAR(10), Grade SMALLINT CHECK(Grade>=0 AND Grade<=100),
31、 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(Fingrade>=0 AND Fingrade<=100), PRIMARY KEY (Sno, Cno), FOREIGN KEY (Sno) REFERENCES Student(Sno)
32、ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (Cno) REFERENCES Course(Cno) ON DELETE CASCADE ON UPDATE CASCADE, ); --二、創(chuàng)建視圖 --教師授課的分配視圖 create view DTC as select sdept.Dno ,Dname,Tname,Cname from sdept,teacher,course where sdept.Dno=teacher.Dno and teacher.Tno=course.Tno
33、 --學生的學號、成績等信息查詢的視圖 create view V_student as select student.Sno,Sname,cname,Credit,grade from student,SC,course where student.Sno=SC.Sno and course.Cno=SC.Cno --教師基本信息查詢的視圖 create view V_teacher as select Tname,Dname,Tel from teacher,sdept where teacher.Dno=sdept
34、.Dno --三、創(chuàng)建索引 --在教師表中系代號列上建立索引 create unique index teadno on teacher(Dno); --在學生表姓名列上建立索引 create unique index stusname on student(sname); --四、創(chuàng)建用戶并對用戶的權(quán)限做相應設(shè)置 --創(chuàng)建學生用戶 create login u1 with password=111 use 教務管理系統(tǒng) create user 學生 for login u1 --對學生用戶進行授權(quán) grant select on student to
35、 學生 grant select on V_student to 學生 grant select on DTC to 學生 grant select on V_teacher to 學生 --創(chuàng)建教師用戶 create login u2 with password=111 use 教務管理系統(tǒng) create user 教師 for login u2 --對教師用戶進行授權(quán) grant select on student to 教師 grant select on DTC to 教師 grant select,update on teacher
36、 to 教師 grant select,insert,update(grade,daigrade,midbrade,lasgrade,fingrade) on SC to 教師 --創(chuàng)建教務管理員用戶 create login u3 with password=111 use 教務管理系統(tǒng) create user 教務處 for login u3 --對教務管理員用戶進行授權(quán) grant select,update,insert,delete on teacher to 教務處 grant select,update,insert,delete on stude
37、nt to 教務處 grant select,update,insert,delete on sdept to 教務處 grant select,update,insert,delete on class to 教務處 grant select,update,insert,delete on course to 教務處 --五、創(chuàng)建觸發(fā)器 --刪除教師信息觸發(fā)器 create trigger 刪除教師信息 on teacher for delete as if((select tno from deleted) in (select tno from c
38、ourse)) begin printcourse表里有該教師的課程,請先刪除course表里的記錄! rollback end --演示刪除教師信息觸發(fā)器的操作 delete from teacher where tno=04004 --刪除學生信息觸發(fā)器 create trigger 刪除學生信息 on student for delete as if((select sno from deleted)in (select sno from sc)) begin printSC表里有該學生的選課課程,請先刪除SC表里的記錄! rollback
39、end --演示刪除學生信息觸發(fā)器的操作 delete from student where sno=020312 --選課觸發(fā)器 create trigger 選課 on SC for insert as if((select cno from inserted) in (select Cno from course) ) begin print選課成功 end --演示執(zhí)行“選課”觸發(fā)器 insert into SC(sno,cno) values(020301,02) --刪除選課觸發(fā)器 create trigger 刪除選課 on S
40、C for DELETE AS if((select cno from deleted) in (select cno from sc)) begin print刪除選課成功 end --演示執(zhí)行“刪除選課”觸發(fā)器 delete from sc where sno=010117and cno=03 --六、存儲過程 --查詢成績的存儲過程 CREATE PROCEDURE 查詢成績 @sn char(10) as select student.sno,sname,cname,Credit,grade from student,course,SC where student.sno=sc.sno and o=o and student.sno=@sn --查詢學號為“010104”的學生成績 exec 查詢成績 010104 溫馨提示:最好仔細閱讀后才下載使用,萬分感謝!
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。