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