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